Я новичок в pester и пытаюсь создать тесты для модулей класса PowerShell. Я пытаюсь определить, как тестировать мой конкретный метод реализации свойств для моих классов.
Базовая структура c, которую я использую:
class TestClass {
hidden [string] $_TestProp = $($this | Add-Member -MemberType ScriptProperty -Name TestProp -Value {
return $this._TestProp
} -SecondValue {
param([string]$Value)
$this._TestProp = $Value
}
)
}
Эта структура, в то время как более работа, дает мне возможность использовать то, что я считаю "нормальной" функциональностью getter \ setter в моих классах. Я пытаюсь проверить, что это свойство имеет тип string. Я попытался просмотреть AST для блока сценариев Getter, но мне не удалось найти тип возвращаемого значения блока сценария.
У кого-нибудь есть идеи относительно того, как я буду проверять возвращение тип блока сценария?
Обновление
Согласно предложению в комментариях, я переписал класс как таковой
class TestClass {
hidden [string] $_TestProp
TestClass(){
$this | Add-Member -MemberType ScriptProperty -Name TestProp -Value {
return $this._TestProp
} -SecondValue {
param([string]$Value)
$this._TestProp = $Value
}
}
}
Функционально это то же самое, раздел add member был просто перемещен в область конструктора вместо объявления.