Pergunta

Eu tenho um teste de unidade que

  1. cria um mock
  2. chama meu método a ser testado (também injetar minha simulada)
  3. afirma resultados do método
  4. 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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top