Образец сценария Pester получает -Be не является допустимым оператором Should в Windows 10, отлично работает в Ubuntu

Новичок в Pester, установил Powershell и Pester на Ubuntu 16.04 в соответствии с инструкциями на странице Pester Github https://github.com/pester/Pester. Выполнили их примеры сценариев Get-Planet.Tests.ps1 и Get-Planet.ps1, и все заработало, как было заявлено. Попробовал то же самое в Windows 10, следуя их инструкциям, и получил «-Be не является допустимым оператором Should».

Не знаю, где искать проблему, так как я новичок в Pester и в Powershell. Это их собственный образец, установленный по их инструкции, без каких-либо модификаций. Любая помощь будет оценена.


person Dave Nicolette    schedule 24.07.2018    source источник
comment
IIRC, это разница в версиях.   -  person user2864740    schedule 25.07.2018
comment
@user2864740 user2864740 Как проверить, какую версию Pester я использую? Я пробовал Invoke-pester --version, но это не сработало. В документах тоже ничего не нашел.   -  person kkuilla    schedule 22.10.2019


Ответы (2)


Чтобы расширить другой ответ, Windows 10 (и Server 2016) поставляются с предустановленной версией Pester 3.4.0. Начиная с версии 4 Pester и далее был изменен некоторый синтаксис Pester, включая утверждения Should, которые теперь предоставляются в качестве параметров (например, Should Be стало Should -Be).

Документация отражает более новый синтаксис, поэтому он вводит в заблуждение для старых версий Pester.

Вы можете установить последнюю версию Pester на свой компьютер с Windows 10, выполнив следующее в окне PowerShell уровня администратора:

Install-Module -Name Pester -Force -SkipPublisherCheck

Чтобы узнать, что еще изменилось между версиями Pester 3 и 4, см. здесь:

person Mark Wragg    schedule 25.07.2018

Проблема оказалась в неправильной версии Pester в системе Windows 10, как предложил пользователь 2864740.

person Dave Nicolette    schedule 25.07.2018