Mockar demais é perigoso

O uso de test doubles é uma prática antiga dentro da disciplina de testes automatizados. Antiga, bem disseminada e bastante útil. No entanto, com qual frequência e em quais situações devemos utilizá-los não são pontos tão claros e uniformes nessa disciplina.

Este artigo traz meu ponto de vista sobre o assunto.

(Ao longo do texto, uso o termo “SUT” – System Under Test – para me referir à unidade sendo testada e a invenção “mockar” com o significado de “criar um test double”, seja este um mock verdadeiro ou qualquer outro tipo de double.)

USANDO TEST DOUBLES

No lugar de objetos que acessam recursos externos

Dependências externas são aquelas que fogem da fronteira de memória do software, como bancos de dados, o sistema de arquivos ou uma API REST. Continue lendo

Anúncios

Testes de interação usando mocks

Fala, galera

Este post é uma continuação do post sobre stubs, portanto, recomendo a leitura daquele aqui para que este possa ser melhor entendido. Dito isto, falarei desta vez sobre testes de unidade com mocks e no que eles diferem dos stubs.

Mocks são fakes assim como os stubs, porém um mock decide se um teste passou ou falhou. Outra forma de dizer isso é que stubs são usados em testes de estado, isto é, testes orientados ao resultado. Um método é testado e espera-se que algum resultado seja “X” ou verdadeiro ou não nulo, geralmente checando o valor retornado pelo método. Continue lendo »