我的pester代码有问题,我应该模拟某个函数(Get-State
)来返回一个复数值,以便$StartState
可以有一个值。凭借我的Powershell级别,我似乎无法创建自定义对象。
$State = Get-State
$StartState = $State.Where({$_.Name -eq "State_SUccess"}).state
我尝试使用带有此代码的自定义对象来模拟Get-State
函数
$State = [PSCustomObject]@{Name = "State_SUccess"}
if($State.Name -eq "State_SUccess""){
$State = [PSCustomObject]@{Name = @{state = 1}}
}
else
{
}
$BatchState.statusName.state
但它没有做到这一点,$StartState
仍然没有价值,因为也许我必须在哪里创建一个自定义方法?
答案 0 :(得分:0)
我没有太多关于你打算做什么的信息,但我认为它是这样的:
将第一部分更改为:
$State = Get-State
$StartState = $State.Where({$_.Name -eq "State_SUccess"})
和
$State = [PSCustomObject]@{Name = "State_SUccess"}
if($State.Name -eq "State_SUccess")
{
$State = [PSCustomObject]@{Name = @{state = 1}}
}
else
{
}
$StartState.Name
这是一种相当奇怪的方法......
也许你需要这样的东西:
$State = @{Name = "State_SUccess"}
if($State.Name -eq "State_SUccess")
{
$State['State'] = 1
}
else
{
}
$StartState