Na verdade, Renne, o exemplo testa mais do que apenas o estado do
response. Ele testa a resposta da aplicação, que pode ser analisada
sob vários aspectos, conforme eu ilustrei.
Por exemplo, se não vier um retorno 200, provavelmente você tem um
problema de url. Se não vier o template esperado, pode ser algum
problema de autenticação ou de interpretação de dados pela view. Ou,
ainda, se veio status 200 com o template correto, mas algum conteúdo
da página tá baleado, pode ser problema no template. Ou seja, acabam
sendo problemas independentes mesmo, com focos de solução bem
distintos.
É claro que olhando de longe, parece tudo uma coisa só, pois está tudo
agrupado numa única URL, mas são 3 micro-comportamentos que, juntos,
representam uma funcionalidade.
Outro exemplo, seria uma página com diversas áreas com informações
diferentes. Cada área dessa teria um (ou mais) métodos de teste para
verificar algum aspecto dela, mesmo que essas informações estejam numa
mesma página física.
Eu, particularmente, uso um assert por método de teste, por mais
verborrágico que seja. O benefício que eu vejo é que o nome do teste
que quebra me diz exatamente qual foi o problema, sem eu precisar
investigar o código do método de teste pra saber em qual assert
quebrou e o que isso significa pra aplicação.
Mas, como algumas coisas que fazemos sem trocar ideia, acabam virando
má prática, resolvi perguntar pra saber como outras pessoas fazem.
Esses dias eu encontrei esse link que lista anti-patterns [1] por
incidência. Adivinha qual foi o mais votado? ;-)
[1]
http://stackoverflow.com/questions/333682/tdd-anti-patterns-catalogue
--
Vinicius Assef
2013/5/15 Renne Rocha <
re...@rennerocha.com>:
> Você está recebendo esta mensagem porque se inscreveu no grupo "TDD no mundo
> real" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para
tdd-no-mundo-r...@googlegroups.com.