簡體   English   中英

如何模擬函數以使用Pester返回復雜值

[英]How to Mock function to return a complex value with 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仍然沒有任何價值,因為也許我必須在哪里創建自定義方法?

關於您打算做什么,我沒有太多信息,但我認為是這樣的:

將第一部分更改為:

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM