Pester无法在Azure自动化中启动

时间:2019-07-10 08:43:59

标签: azure powershell pester

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

我已经在Azure自动化中创建了一个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

过去有人遇到过此问题吗?无论我的瘟疫代码是否正在运行的任何信息,都将不胜感激。

最好,

1 个答案:

答案 0 :(得分:0)

因此,看着Pester's Output Code,我认为问题是Pester正在使用Write-Host显示文本。

问题在于,它在本地计算机上工作得很好,我也想说这是在本地进行此操作的最佳方法,但是正如this issue中所述,Runbook不被认为是具有以下功能的主机你可以写。这意味着在运行手册的输出中将忽略所有写入Write-Host的消息。

因此,据我所知,除非您尝试使用类似

的方式将其保存到文件中,否则您将无法使Pester测试正常工作或在Runbook中输出任何内容
Invoke-Pester -OutputFile Test.xml -OutputFormat NUnitXml

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

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

我希望这对您的项目有帮助并祝您好运。