Pq não preciso colocar nenhum assert quando termino o meu método de teste com o dao.verify? Qual a relação entre o mock e o nunit? Sei que o verify retorna boolean mas o nunit cata isso automaticamente? Não precisa do assert?
insira seu código aqui
Pq não preciso colocar nenhum assert quando termino o meu método de teste com o dao.verify? Qual a relação entre o mock e o nunit? Sei que o verify retorna boolean mas o nunit cata isso automaticamente? Não precisa do assert?
insira seu código aqui
Oi Diogo, tudo bem?
Pq não preciso colocar nenhum assert quando termino o meu método de teste com o dao.verify?
Depende. O método Verify()
de um mock serve para verificar que um método foi chamado pelo objeto testado. Mas nada impede que você adicione outras verificações com Assert no mesmo teste.
Qual a relação entre o mock e o nunit?
O conceito de Mock não é exclusivo do NUnit. Ele existe em vários frameworks de teste.
Imagine um motor de carro. Você quer testar o funcionamento do motor apenas (teste unitário). Então você não precisa do carro inteiro para isso. O que você faz? Você faz um mock para simular cada um dos outros componentes do carro:
Então você precisa que os mocks se comportem de determinadas maneiras para testar o comportamento do motor. Por exemplo: o que acontece quando o pedal do acelerador (mock) é acionado? Você espera que o motor aumente as rotações por minuto de A para B. E quando o motor já estiver na rotação máxima definida pela fábrica? O motor não poderá aumentar as rotações, pois isso pode destruir o mecanismo do motor e provocar um acidente na estrada. Tudo isso é testado não com pedais de verdade, mas com esses "mocks" que os técnicos plugam na bancada de testes.
Sei que o verify retorna boolean mas o nunit cata isso automaticamente? Não precisa do assert?
Podemos pensar no seguinte:
Ambos têm funções diferentes e podem ser usados sozinhos, ou em conjunto, num mesmo teste.