Итак, прежде всего, я должен заявить, что я новичок в Pester и, возможно, не пишу свои тесты правильно или неправильно понимаю всю его функциональность.
Итак, фон - это то, что я хочу автоматизироватьмой модуль PowerShell с Пестером, и к настоящему времени я написал несколько тестов.
Часть моего модуля - сохранение настроек в файле clixml.Я хотел бы написать набор тестов, чтобы убедиться, что сохранение и захват конфигурации работают должным образом.
В основном у меня есть одна функция для сохранения файла конфигурации и одна для его получения.Мой тест Пестера выглядит следующим образом:
BeforeAll{
if(Test-path existingconfigfile.xml){
Rename-Item -Path "existingconfigfile" -NewName "backup.xml"
}
Save-configfunction -param1 'Value1' -param2 'Value2'
#saves as test.xml
}
Afterall{
if(Test-path backup.xml){
# Remove mocked test file
Remove-Item -Path "test.xml" -Force
# Place original back
Rename-Item -Path "backup.xml" -NewName "existingconfigfile.xml"
}
}
it "importconfig should return expected values for mocked object" {
{
$result = Get-config
$result
$result.Containsvalue('Value1') | Should be $true
}
}
Теперь я попробовал несколько вариантов блока it
:
it "importconfig should return expected values for mocked object" {
{
$result = Get-config
$result.param1 | Should be "Value1"
}
}
it "importconfig should return expected values for mocked object" {
$result = Get-Config
$result | Should match 'Value1'
$result | Should match 'Value2'
}
it "importconfig should return expected values for mocked object" {
$result = Get-Config
$result.Param1 | Should match 'Value1'
$result.Param2 | Should match 'Value2'
}
Пестер всегда возвращает пройденный тест, даже еслиЯ изменяю значения совпадений на неправильные.Пестер делает это во всех сценариях.Поэтому по какой-то причине Пестер не правильно оценивает значения и всегда возвращает положительный результат.
Поэтому я хотел бы знать, что я делаю неправильно.Очевидно, что Пестер должен пройти тест, если значения действительно совпадают, но он должен потерпеть неудачу, если они не совпадают.