Assert messaggio nei test di unità

3

Ho appena iniziato a leggere "The Art Of Unit Testing" di Roy Osherove, mentre io Per lo più trovando il materiale molto utile, fa una dichiarazione sul non usare messaggi nelle dichiarazioni Assert.

"Please never, ever, use this parameter. Just make sure your test name explains what's supposed to happen."

La mia domanda è, nella tua esperienza, ritieni che questo consiglio sia buono o cattivo? Se usi i messaggi di asserzione nei tuoi test di unità, quali informazioni lo utilizzi per catturare al di là di ciò che un test unitario ben chiamato potrebbe darti in primo luogo?

    
posta DaveH 07.04.2014 - 21:45
fonte

1 risposta

8

Questo tipo di consigli formula due presupposti chiave:

  1. Passerai più tempo a esaminare alcuni riepiloghi pass / fail di tutti i tuoi test rispetto all'output di asserzione.
  2. I tuoi test verificano solo una cosa.

Ora il # 1 è praticamente garantito per essere vero. # 2 è meno spesso vero, anche se è un buon consiglio. Lo spirito del consiglio è: dovresti essere in grado di capire a colpo d'occhio perché i tuoi test unitari non sono passati.

Il consiglio del libro si combina con questi due presupposti per raggiungere lo spirito del consiglio. Nella mia esperienza, questo spirito è davvero la chiave da seguire. Una volta che hai un buon nome di test, e il tuo test prova solo una cosa (anche se usi più asserimenti per farlo) - tutto il resto è sugo.

A quel punto, se trovi utile usare i messaggi per differenziare gli asseriti, impazzisci. Se trovi più utile risparmiare tempo digitando messaggi che nessuno guarda, impazzisci. L'importante è che tu possa capire a colpo d'occhio cosa hanno fallito i test.

    
risposta data 07.04.2014 - 22:03
fonte

Leggi altre domande sui tag