Os testes unitários com verifica simulados
-
12-09-2019 - |
Pergunta
Eu tenho um teste de unidade que
- cria um mock
- chama meu método a ser testado (também injetar minha simulada)
- afirma resultados do método
- Verifica chamadas simuladas
Quando as chamadas simuladas não verificar como esperado eu recebo uma exceção, falhando assim um teste.
Como devo chamar corretamente Isto verifica? Devo ser apenas chamando
// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());
ou devo chamá-lo com Assert
// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));
Ao verificar falhar eu recebo uma exceção de qualquer maneira.
O que é a maneira correta de verificar simulada?
Solução
VerifyGet é suficiente, assert parece acrescentar nenhum valor então por adicionar mais palavreado?
Outras dicas
O DoesNotThrow-método deve ser usado para testar se seus próprios métodos de aderir a suas especificações.
Em suma, acrescentando os olhares DoesNotThrow como você está testando o comportamento de VerifyGet vez do comportamento de seu SUT.
Claro, você pode envolvê-lo em torno da VerifyGet, mas acho que só torna as coisas confusas desde VerifyGet iria falhar o teste de qualquer maneira.