1
Pester에서 일부 인프라 테스팅을하고 있으며 접근 방법을 모르는 반복 시나리오가 있습니다.Pester에서 컬렉션의 각 항목에 대한 어설 션
IIS에서 필요한 모든 웹 역할을 사용할 수 있는지 확인하고 싶습니다. 필요한 웹 역할 모음이 있고 각 웹 역할을 사용할 수 있다고 주장하고 싶습니다.
나의 현재 코드는 다음과 같습니다
$requiredRoles = @(
"Web-Default-Doc",
"Web-Dir-Browsing",
"Web-Http-Errors",
"Web-Static-Content",
"Web-Http-Redirect"
)
Context "WebRoles" {
It "Has installed proper web roles" {
$requiredRoles | % {
$feature = Get-WindowsOptionalFeature -FeatureName $_ -online
$feature.State | Should Be "Enabled"
}
}
}
그것은 역할의 설치/사용할 수없는 경우 테스트가 실패한다는 의미에서 작동합니다. 그러나 이러한 훼방 테스트의 출력은 다음과 같습니다 경우 거의 유용
Context WebRoles
[-] Has installed proper web roles 2.69s
Expected: {Enabled}
But was: {Disabled}
283: $feature.State | Should Be "Enabled"
이 결과는 장애인입니다 기능이있는 대한 단서를 제공하지 않습니다.
이러한 시나리오에 권장되는 방법이 있습니까? 나는 ... 일부 문자열 조작에 대해 생각했다
Context "WebRoles" {
It "Has installed proper web roles" {
$requiredRoles | % {
$feature = Get-WindowsOptionalFeature -FeatureName $_ -online
$toCompare = "{0}_{1}" -f $feature.FeatureName,$feature.State
$toCompare | Should Be ("{0}_{1}" -f $_,"Enabled")
}
}
}
하는 것 출력 : 더 나은이지만, 매우 기분이 좋지 않습니다
Context WebRoles
[-] Has installed proper web roles 2.39s
Expected string length 27 but was 28. Strings differ at index 20.
Expected: {IIS-DefaultDocument_Enabled}
But was: {IIS-DefaultDocument_Disabled}
-------------------------------^
284: $toCompare | Should Be ("{0}_{1}" -f $_,"Enabled")
...
또한, 테스트가 첫 번째 실패에서 멈추고 각 기능을 수정 한 후에 테스트를 다시 실행해야한다는 사실에 두 번째 문제가 있습니다 ...
아이디어가 있으십니까?
와우, 나는 그렇게 할 수 몰랐어요! 그게 내 문제 모두를 해결합니다 - 결과 표현력과 첫 번째 실패에 대한 중단. 아주 좋아! 감사! – jumbo