Executando verificação de segurança...
1

Hoje eu escrevo teste para as aplicações, mas não o TDD. Eu costumo fazer meus códigos da seguinte forma.

1 - Escrevo Tudo, sem muita arquitetura, separação de responsabilidade, nem nada disso, apenas codifico um linguição para ver se tudo que foi pensado irá funcionar.

2 - Funcionou tudo que previ, agora começo gerenciar o código (criar services, repositories, dependency injection, middleware se necessário, separar os métodos para unica responsabilidade, etc).

3 - Com os métodos possuindo uma unica responsabilidade começo pensar nos possiveis testes (nesse momento encontro alguns cenários que falha e vou corrigindo o código).

4 - Por fim passando todos os testes está pronto para o PR.

Carregando publicação patrocinada...
2

Eu fazia bem dessa forma que você comentou. Mas com o tempo experimentei inverter um pouco a ordem.

Antes de refatorar o código( criar as camadas e separar as responsabilidades ) eu tento criar alguns testes e após ter esses testes passando, vou pegando cada cenário do teste e vou ajustando e rodando o teste.

Dessa maneira eu tenho a garantia que o resultado esperado sempre será o mesmo.

1
2

O feito melhor que perfeito é pior.
o FEITO MELHOR QUE PERFEITO vai para produção com a promessa de voltar e ajustar e nunca mais volta.

Nesse caso apenas eu valido o que fiz e depois estruturo (pq se mostrar pro lider ai vai para prod zuado mesmo).