Qual é a melhor maneira de realizar TDD para que os testes não sejam muito frágeis, mas ainda forneçam valor em termos de design?
wow Essa é uma pergunta não fácil, depende muito do escopo
basicamente: mantenha o teste relevante para o escopo da solução e seu fluxo, não para os detalhes da implementação
i.e
você precisa codificar uma implementação para obter uma lista ordenada:
você tem alguns casos:
[3] -> [3]
[2,5,1] -> [1,2,5]
você pode escolher muitos algoritmos para fazer isso, mas você escreve o teste para verificar :
"quando eu tenho [2,5,1] e executo o método de ordenação que recebo [1,2,5]" que é um teste no projeto você não testa cada passo no algoritmo porque isso é detalhe de implementação, se você escrever testes na implementação do algoritmo que os testes são altamente acoplados com o algoritmo e quando você muda o algoritmo você precisa deletar esses testes porque eles não são mais necessários
e isso é realmente difícil de realizar, que não significa não escrever teste para implementação do algoritmo, mas você deve ser claro sobre os limites do escopo e componentes, teste de implementação do algoritmo são valiosos em termos do escopo do algoritmo, mas não para o escopo da solução, então mantenha os testes relevantes para seus componentes de software
Artigos semelhantes
- Quais são as ferramentas disponíveis para realizar testes de segurança em aplicativos Android?
- Qual é a melhor maneira de realizar um concurso no Facebook?
- É legal para uma empresa exigir que seus funcionários forneçam um 'smartphone' não reembolsado e instalem um aplicativo para fins de trabalho?
- Por que companhias telefónicas como a Apple tornam os seus telefones tão frágeis?