Incrementar testes unitários durante a implementação do código

Pessoas,

Esse título ficou meio esquisito mas não consegui pensar em outra coisa.

Estou estudando um pouco sobre TDD, e naquele básico de “monte os testes antes do código” apareceu uma dúvida.

Supondo um código medianamente complexo - nem tão complexo a ponto de ter que dividir em testes menores, nem tão simples para testes banais. Supondo eu monte minha suite de testes para esse código, e durante o desenvolvimento eu percebo que alguma situação obrigatoriamente precisa ser testada - ou seja, antes de refatorar percebe-se que os testes propostos não são suficientes.

Isso é viagem minha? Digo, se eu precisei incrementar os testes durante o desenvolvimento, o processo está errado? Mas se estiver errado, não fica uma coisa meio waterfall?

Quero saber a visão de vocês, de como fica essa coisa de teste-código-volta pra teste-vai pro código no TDD.

Grato!

Primeiro de tudo os testes são cíclicos por exemplo vc tem um problema e pensa no resultado e faz um teste para ele. Ai vc começa a implementar e vc sente a necessidade de criar um outro método… antes de criar-lo vc faz um teste pra ele, ai sim vc volta ao método e ai por diante.
Conclusão vc vai criando os testes a medida q seu problema cresse. E se por acaso vc esqueceu de uma coisa corrija o teste ates e depois volta a implementação. Blz
Espero ter ajudado. Abraço :smiley:

Sonhofalante:

“Test-Driven Development” é usar os testes para guiar a codificação durante o desenvolvimento.

“Test-first” não é “escreva todos os testes antes”. É escrever um teste mínimo para uma funcionalidade mínima que vc vai codificar logo em seguida.

O que vc descreveu poderia ser descrito como BTUF (“Big tests up front”).
Não tente procurar essa sigla no Google: acabei de inventar.

[]s

Jorge

Na verdade, dreamspeaker seria “Orador dos Sonhos”, personagem de um RPG chamado Mago.

Obrigado pela explicação! :wink: