Hello Everyone,
Currently when using New-MockObject we get an empty object with no properties set. It seems these properties are read only and aren’t able to be set without overriding the entire property with a note property of the same name. Is this the preferred method for populating the mock object, or is there another way to set these properties that I may be missing?
For reference here is my current code to override the properties:
$VM = Get-Content .\VirtualMachine.tests.json -Raw | ConvertFrom-Json
$VMMock = New-MockObject -Type 'Microsoft.Hyperv.PowerShell.VirtualMachine'
foreach ($property in ($VM | Get-Member -MemberType NoteProperty).Name) {
$addmembersplat = @{
MemberType = [System.Management.Automation.PSMemberTypes]::NoteProperty
Name = $property
value = $vm.$property
Force = $true
}
$VMMock | Add-Member @addmembersplat -ErrorAction 0
}