我在 Pester 中有以下简单的测试:
# Name.Tests.ps1
$name = "foo"
Describe "Check name" {
It "should have the correct value" {
$name | Should -Be "foo"
}
}
所以当我导航到包含测试脚本的文件夹并运行Invoke-Pester
时,我期望测试通过。相反,我收到以下错误:
[-]检查名称应具有正确的值。预期为'foo',但得到了$null...
你有什么想法为什么会失败,为什么在It
块中$name
被设为null - 因为它来自父作用域,$name
不应该仍然设置为foo
吗?
$global:name
和$script:name
,但为什么需要全局/脚本作用域呢?在线示例似乎不需要这种作用域(例如:https://medium.com/charot/test-arm-templates-using-pester-azure-devops-837b5006c30c)。 - KhanIt "should have the correct value
没有结束引号。 - Nico Nekoru