Mocked Object Properties

Welcome Forums Pester Mocked Object Properties

This topic contains 2 replies, has 2 voices, and was last updated by

1 year, 11 months ago.

  • Author
  • #68262

    Points: 0
    Rank: Member

    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
  • #68266

    Points: 22
    Rank: Member

    Yes. That currently is the only way to populate the properties. I've intended to add that functionality to the New-MockObject function for awhile now but just haven't got to it it. I want to do something like this:

    New-MockObject -Type 'FOO' -Property @{Name='bar';Type = 'Property'; Value='foo'},@{Name = 'method1';Type = 'Method'; Value = 'x'}

    • #68272

      Points: 0
      Rank: Member

      Thanks for the quick reply, Adam.

The topic ‘Mocked Object Properties’ is closed to new replies.

denizli escort samsun escort muğla escort ataşehir escort kuşadası escort