我想在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
过去有人遇到过此问题吗?无论我的瘟疫代码是否正在运行的任何信息,都将不胜感激。
最好,
答案 0 :(得分:0)
因此,看着Pester's Output Code,我认为问题是Pester正在使用Write-Host显示文本。
问题在于,它在本地计算机上工作得很好,我也想说这是在本地进行此操作的最佳方法,但是正如this issue中所述,Runbook不被认为是具有以下功能的主机你可以写。这意味着在运行手册的输出中将忽略所有写入Write-Host的消息。
因此,据我所知,除非您尝试使用类似
的方式将其保存到文件中,否则您将无法使Pester测试正常工作或在Runbook中输出任何内容Invoke-Pester -OutputFile Test.xml -OutputFormat NUnitXml
并将结果保存到Azure存储帐户中以进行查看。
无论如何,这似乎不是测试的正确用法。根据您的用例,您可能应该考虑将其放入任何类型的构建过程中,例如构建管道。
我希望这对您的项目有帮助并祝您好运。