Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Análise de valor de limite

Fala mestre, feliz ano novo.

Digamos que eu tenha um value object chamado "Nome" e que valide uma string entre 2 e 200 caracteres e emita uma exception caso essa condição não seja satisfeita.

O mais correto a se fazer nesse cenário é criar 4 testes? Por exemplo, "testNomeCom2Caracteres", "testNomeCom200Caracteres", "testNomeCom1Caractere", "testNomeCom201Caracteres"?

Ou 2 testes mais genéricos seriam suficientes? Por exemplo: "testNomesValidos", "testNomesInvalidos"?

E só para finalizar: Na semântica dos nomes dos testes seria é melhor usar "testNomeCom2Caracteres" ou "testNomeValidoCom2Caracteres" ou não faz diferença para legibilidade do teste nesse caso?

1 resposta
solução!

Ótimas perguntas, Diego, e todas subjetivas. Depende bastante do cenário, de quanta cobertura você deseja alcançar, etc.

Num cenário onde a maior cobertura possível é desejada, eu criaria os 4 testes com a nomenclatura mais verbosa (testNomeValidoCom2Caracteres, etc).

Mas às vezes criar todos os testes pode ser muito custoso então acabamos optando por criar testes apenas para os cenários mais comuns ou mais propensos a erro.

Aí já é um processo de decisão da equipe. :-D