Pester示例脚本在Windows 10上获取“ -Be不是有效的Should运算符”,在Ubuntu上运行良好

时间:2018-07-24 23:36:58

标签: powershell pester

Pester的新手,按照Pester Github页面https://github.com/pester/Pester上的说明在Ubuntu 16.04上安装了Powershell和Pester。执行了他们的示例脚本Get-Planet.Tests.ps1和Get-Planet.ps1,它的工作与广告一样。按照他们的指示在Windows 10上尝试了相同的操作,并得到“ -Be不是有效的Should运算符”。

由于我是Pester和Powershell的新手,所以不确定在哪里查找问题。这是他们自己的示例,按照其说明安装,没有任何修改。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

要扩展其他答案,Windows 10(和Server 2016)预装了Pester版本3.4.0。从Pester的第4版开始,对Pester的语法进行了更改,包括Should断言,这些断言现在作为参数提供(例如Should Be变成了Should -Be)。

文档反映了较新的语法,因此为什么它会误导旧版本的Pester。

通过在管理员级别的PowerShell窗口中运行以下命令,您可以在Windows 10计算机上安装最新版本的Pester:

Install-Module -Name Pester -Force -SkipPublisherCheck

要查看Pester版本3和4之间的其他变化,请参见此处:

答案 1 :(得分:1)

根据用户2864740的建议,问题证明是Windows 10系统上的Pester版本错误。