Powershell 混合pester发现和运行变量

Powershell 混合pester发现和运行变量,powershell,pester,Powershell,Pester,我有这个纠缠脚本块。当我运行它时,“Test1”失败了,这很好。第二次“Test2”失败,但我希望它通过。 对于pester 5,建议如下: `把你所有的代码都放进去,不管是之前、之前、之后还是之后。除非您有充分的理由这样做,否则不要将代码直接放入descripe、Context或文件顶部,而不要将其包装到这些块中 所有放错位置的代码都将在发现期间运行,其结果在运行期间不可用` 这就解释了我的“Test2”失败的原因。但是如果我把我的代码放在一个提议的块中,那么我将无法使用测试用例 有办法解决这

我有这个纠缠脚本块。当我运行它时,“Test1”失败了,这很好。第二次“Test2”失败,但我希望它通过。 对于pester 5,建议如下:

`把你所有的代码都放进去,不管是之前、之前、之后还是之后。除非您有充分的理由这样做,否则不要将代码直接放入descripe、Context或文件顶部,而不要将其包装到这些块中

所有放错位置的代码都将在发现期间运行,其结果在运行期间不可用`

这就解释了我的“Test2”失败的原因。但是如果我把我的代码放在一个提议的块中,那么我将无法使用测试用例

有办法解决这个问题吗

谢谢

Describe "Sample" {
$test = 1
$testCase = @(
    @{var1 = $test; ExpectedResult = $true})

it "Test1" -Tag "Update" -TestCase $testCase {
 param ($var1, $expectedresult)
    $var1 | should -be $null
    $test | should -be 1
}

it "Test2" -Tag "Fail" {
    $test | should -be 1
}

}

将代码放入其中一个块中的建议主要针对所有内容。在发现过程中,您可以而且应该做的一件事是创建测试用例。测试用例是该规则的一个例外,它是为Pester执行测试而保存的。可以这样想-Pester在发现过程中运行测试之前扫描文件。因为您已经构建了这些测试,并将它们作为参数传递到测试中,所以它会将它们作为测试的一部分找到,并且它们仍然可以使用。建议您将代码放入其中一个块中,这主要适用于所有内容。在发现过程中,您可以而且应该做的一件事是创建测试用例。测试用例是该规则的一个例外,它是为Pester执行测试而保存的。可以这样想-Pester在发现过程中运行测试之前扫描文件。因为您已经构建了这些测试并将它们作为参数传递到测试中,所以它会将它们作为测试的一部分进行查找,并且它们仍然可以使用。