У меня есть тест Пестера, где я макетирую вызов Read-Host для своей функции, который соответствует формату в этом вопросе здесь:
Как смоделировать Read-Host в тесте Pester?
Describe "Test-Foo" {
Context "When something" {
Mock Read-Host {return "c:\example"}
$result = Test-Foo
It "Returns correct result" { # should work
$result | Should Be "c:\example"
}
It "Returns correct result" { # should not work
$result | Should Be "SomeThingWrong"
}
}
}
Мои тесты работают отлично при использовании этого формата и при непосредственном вызове теста. Однако когда я запускаю файл, содержащий мой тест, используя Invoke-Pester "MyTestFile" -CodeCoverage "MyFileUnderTest", мне предлагается ввести значение Read-Host для моего теста.
Мое намерение состоит в том, чтобы тест запустился автоматически без необходимости ввода значения Read-Host. Это будет как при непосредственном вызове теста (который работает в данный момент), так и при вызове моего тестового файла с помощью команды CodeCoverage.
Кто-нибудь знает способ достижения этого?
Edit:
К первому полученному мной комментарию я просмотрел документацию Пестера, включая эту ссылку https://github.com/pester/Pester/wiki/Unit-Testing-within-Modules. Однако я не видел никакой официальной документации Пестера относительно использования Read-Host и использовал решение, которое я нашел в Ссылка StackOverflow вверху моего вопроса.
Исходный код для функции Test-Foo модуля:
function Test-Foo
{
return (Read-Host "Enter value->");
}