Когда я запускаю следующий тест на приставку, я ожидаю, что он обнаружит ожидаемую ошибку, но это не так. Но когда я запускаю тест с другой функцией с другим оператором throw, он работает.
Тест на приставание:
Describe "Remove-GenericCredential Function Tests" {
$InternetOrNetworkAddress = 'https://[email protected]'
Context "Test: Remove-GenericCredential -InternetOrNetworkAddress '$InternetOrNetworkAddress' (Credential does not exist)" {
It "This Command threw an error. The credential does not exist." { { (Remove-GenericCredential -InternetOrNetworkAddress $InternetOrNetworkAddress -Confirm:$false) } | should throw "Remove-GenericCredential : Credential $InternetOrNetworkAddress not found" }
}
}
Ошибка, которая не обнаружена:
Remove-GenericCredential : Credential https://[email protected] not found
At C:\Users\klocke7\Documents\WindowsPowerShell\Modules\Ford_CredentialManager\Tests\Remove-GenericCredential.Tests.ps1:30 char:76
+ ... xist." { { (Remove-GenericCredential -InternetOrNetworkAddress $Inter ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Remove-GenericCredential
[-] This Command threw an error. The credential does not exist. 44ms
Expected: the expression to throw an exception with message {Remove-GenericCredential : Credential https://[email protected] not found}, an exception was not raised, message was {}
from C:\Users\klocke7\Documents\WindowsPowerShell\Modules\Ford_CredentialManager\Tests\New-GitHubCredential.Tests.ps1:59 char:176
+ ... e $UserName -Token 'NotAGitHubTokenSpecialCharacters!@#$%^&*') } | sh ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
at <ScriptBlock>, C:\Users\klocke7\Documents\WindowsPowerShell\Modules\Ford_CredentialManager\Tests\Remove-GenericCredential.Tests.ps1: line 30
30: It "This Command threw an error. The credential does not exist." { { (Remove-GenericCredential -InternetOrNetworkAddress $InternetOrNetworkAddress -Confirm:$false) } | should throw 'Remove-GenericCredential : Credential https://[email protected] not found' }
Remove-GenericCredential
или хотя бы код, который выдает исходную ошибку? - person Mathias R. Jessen   schedule 08.03.2018.... | Should -Throw
, а не.... | Should Throw
? И после throw должна следовать строка, используемая в вашем операторе throw, например, {throw mud} | Надо -брызгать грязью прошло бы. В противном случае дважды проверьте, что, по вашему мнению, делает функция, что она делает. - person Adam   schedule 09.03.2018