Pester 不会在 Azure 自动化中启动

Pester won't start up in Azure Automation

我想在 Azure 自动化中使用 Pester 测试 Runbook。 但是在 Runbook 控制台上,没有打印 pester 测试消息。

我在 Azure Automation 中创建了一个 Runbook,想测试这些 Runbook 是否按预期运行。 所以我尝试使用 Pester 来测试那些 Runbook,但我不确定 Azure Automation Runbook 中的 Pester 是否 运行。

这是我用的纠错码。一个简单的测试:

Describe "Test Suite" {
    Context "Test Group"{
        It "Test Case" {
            2 | should be 2
        }
    }
}

下面是预期和实际结果图像: expected value : pester process log are shown

actual value : it only show the process is finished

过去有人遇到过这个问题吗?如果我的问题代码是 运行 是否有任何信息,我们将不胜感激。

最佳,

所以看着 Pester's Output Code 我认为问题是,Pester 使用 Write-Host 来显示文本。

问题在于,它在本地机器上工作得很好,我也认为这是在本地执行此操作的最佳方式,但正如 this issue 中所述,该 runbook 不被认为是您可以写入的主机。这意味着所有写入 Write-Host 的消息都将在 Runbook 的输出中被忽略。

所以我想就我的理解而言,你不会让 Pester 测试工作或在运行手册中输出任何内容,除非你尝试将它保存到类似

的文件中
Invoke-Pester -OutputFile Test.xml -OutputFormat NUnitXml

并将结果保存到 Azure 存储帐户中查看。

无论如何,这似乎不是测试的正确用法。根据您的用例,您可能应该考虑将其放入任何类型的构建过程中,例如构建管道。

希望这对您的项目有所帮助,祝您项目顺利。