Eu sempre vi a recomendação de que primeiro devemos escrever testes de unidade e depois começar a escrever código. Mas acho que seguir o outro caminho é muito mais confortável (para mim) - escreva o código e faça os testes de unidade, porque sinto que temos muito mais clareza depois de escrever o código real. Se eu escrever o código e depois os testes, talvez seja necessário alterar um pouco o código para torná-lo testável, mesmo se eu me concentrar muito na criação de um design testável. Por outro lado, se eu escrever os testes e depois o código, os testes mudarão com bastante frequência à medida que o código for configurado.
Como vejo muitas recomendações para começar a escrever testes e depois passar para a codificação, quais são as desvantagens se eu fizer o contrário - escrever código e depois os testes de unidade?