Я пишу вспомогательную функцию для входа в систему Azure. Я могу позвонить Connect-AzAccount
с -SubscriptionId
или -SubscriptionName
, но не обоими. Я пытался ...
Mock Connect-AzAccount { return @{Name = 'Fake Name'} } -ParameterFilter { $SubscriptionId } -Verifiable
Assert-LoginAzureAz -SubscriptionName '0123'
Я пытался ...
Mock Connect-AzAccount { return @{Name = 'Fake Name'} } -ParameterFilter { '0123' -eq $SubscriptionId } -Verifiable
Assert-LoginAzureAz -SubscriptionName '0123'
Я пытался ...
Mock Connect-AzAccount { return @{Name = 'Fake Name'} } -ParameterFilter { $null -eq $SubscriptionId } -Verifiable
Assert-LoginAzureAz -SubscriptionName '0123'
Но все это проходит , Нужно ли создавать два макета? Как я могу утверждать, что отрицательный не был вызван? Могу ли я использовать Assert-MockCalled
с двумя разными Mocks?
РЕДАКТИРОВАТЬ: Добавление других тестов, которые я пробовал ...
Mock Connect-AzAccount { throw 'Called Connect-AzAccount by SubscriptionName' } -ParameterFilter { $SubscriptionName }
Mock Connect-AzAccount { return @{Name = 'Fake Name'} } -ParameterFilter { $SubscriptionId } -Verifiable
Assert-LoginAzureAz -SubscriptionName '0123'
Все еще проходит.