A mio avviso, i casi di test unitari servono come documentazione per il codice. La mia azienda vuole che scriva commenti dettagliati su java doc in cima ai casi di test unitari. È necessario farlo? Scrivi commenti del genere?
A mio avviso, i casi di test unitari servono come documentazione per il codice. La mia azienda vuole che scriva commenti dettagliati su java doc in cima ai casi di test unitari. È necessario farlo? Scrivi commenti del genere?
Risposte:
Quello che faccio è il commento di JAVADOC:
la classe, indicando quale classe è unit test (anche se dovrebbe essere ovvio poiché la migliore pratica su tale argomento suggerisce che il nome del caso di test dovrebbe essere il nome della classe + "Test" o + "TestCase"). Questo viene fatto usando il commento JAVADOC {@link XXXClass}
i metodi, indicando quale metodo è stato testato ({@link XXXClass # method1}). A volte ho bisogno di avere più metodi di prova per un metodo di una classe per testare correttamente tutti i percorsi. Quando succede, scrivo una riga aggiuntiva indicando quale percorso sto testando all'interno (ma non mi allontano mai dalla mia convenzione di una riga)
A parte questo, nessun altro commento. Per attirare la loro attenzione altrove, forse potresti usare qualcosa come Cobertura per generare graziose grafiche con copertura del codice e renderle felici in quel modo :-)
Nota aggiuntiva: mi riferisco ai casi di test unitari, se stiamo parlando di casi di test di integrazione, allora potrebbero essere necessarie una o due righe in più per spiegare cosa sta succedendo ...
I requisiti di documentazione per qualsiasi codice sono abbastanza completamente coperti nelle risposte a questa domanda: il mio capo vuole una spiegazione inglese narrativa riga per riga del nostro codice
Come riepilogo delle risposte che vedrai lì, "Dipende dalla tua situazione". Ci sono casi in cui è ragionevole (e incoraggiato) e altri in cui è una perdita di tempo.
I commenti Javadoc possono essere estratti e formattati in un documento di riferimento separato, i test unitari no. Inoltre, tieni presente che ciò che scrivi a parole può essere diverso dal codice reale e di solito stai descrivendo a parole il comportamento atteso reale. Uno dei modi per trovare i bug è quello di confrontare la documentazione con il codice reale, se non corrispondono - è un bug (in uno di essi, e talvolta - entrambi).
Il test unitario è per i test, non per la documentazione. L'uso del test unitario come documentazione è errato e non dovrebbe essere eseguito.