Di seguito alcune considerazioni personali sul codice per scrivere unit test
Il codice dei test non è da considerarsi codice di serie B.
Va scritto, organizzato e rivisto (refactoring) con la stessa cura con cui sviluppiamo e manteniamo il codice della nostra applicazione.
Quindi risulterà spesso necessario introdurre metodi o oggetti di utilità per rimuovere inutili duplicazione di codice.
In generale scrivo test per :
- verificare le condizioni più comuni
- verificare i casi limite.Per esempio se sto facendo un metodo matematico passerò parametri come 0, 1 , un numero negativo ed un numero positivo molto grande
- verificare le condizioni di errore attese decorando con l'apposito attributo i metodi di test che si aspettano un'eccezione
- cercare di coprire tutto il codice del metodo che si sta testando magari aiutandosi con strumenti di code coverage
- inserire nuovi test per ogni nuovo bug rivelato durante l'utilizzo quotidiano della funzionalità che sto testando
- per i metodi di test preferisco nomi autodescrittivi ai commenti nel codice (suggerito da Michele B. )
Ovviamente tutto questo è IMHO ed ogni commento è ben accetto.