Foi útil?

Solução

Eu não sou um desenvolvedor Java e eu não sei o que JUnit saídas quando uma afirmação falhar. Muitas estruturas de teste de unidade que eu tenho usado informações melhor saída de erro ao usar algo como assertEquals.

Deixe-me mostrar-lhe um exemplo do que estou falando:

assertTrue("Objects must be equal", "One" == "Two");
assertEquals("Objects must be equal", "One", "Two");

No primeiro caso, você pode ter uma saída de erro como este:

Erro: Esperado verdade real foi false

.

Saída para o segundo caso:

Erro:. Exected "One" real era "Two"

Como você pode ver o segundo caso dá melhor informação mais significativa.

Outras dicas

Além do que @Vadim daid acima, usando o assert adequada pode proteger contra insetos criados por cut-copy-paste de testes.

Por exemplo

assertTrue("Objects must not be the same", expected != actual);

é então copiado e modificado para

assertTrue("Objects must not be the same", newobject == actual);

Quando as alterações de código e este teste falhar eo comentário engana o próximo desenvolvedor para "consertar" o código de uma forma que introduz um novo bug.

Se o cut-copy-paste-código era algo como isto:

assertFalse("Objects must be the same", newobject == actual);

O dis-congruência do comentário, a afirmação e o caso de teste pode ser mais perceptível.

E sim, eu já vi isso acontecer.

scroll top