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 }