I test unitari dovrebbero essere scritti dallo sviluppatore che ha scritto il codice o qualcun altro? E quanto è efficace scrivere le unità test come metodo di apprendimento di un nuovo sistema?
I test unitari dovrebbero essere scritti dallo sviluppatore che ha scritto il codice o qualcun altro? E quanto è efficace scrivere le unità test come metodo di apprendimento di un nuovo sistema?
@CarlManaster ha l'idea giusta: è responsabilità di lo sviluppatore per:
per ogni funzione. Il motivo per ognuno di questi può essere riassunto come segue:
Testare direttamente il tuo codice è una buona forma, e un sistema che incoraggia qualcuno che non sia lo sviluppatore a testarlo è un rischio, in quanto il codice potrebbe non essere nemmeno testabile senza pesanti modifiche.
Detto questo, espandere la suite di test unitari di un progetto è un ottimo modo per farti salire a bordo ora funziona.
La prima codifica del test in stile TDD funziona molto bene in una situazione in cui si dispone di una funzione specifica che è stata descritta in dettaglio che deve essere implementata, ma non aiuta a prendere decisioni architettoniche più approfondite.
I test delle unità di scrittura fanno parte del processo di progettazione, indipendentemente dal fatto che si esegua o meno il TDD. Quindi ovviamente è qualcosa che deve essere fatto dallo sviluppatore.
Test di integrazione, ora questi possono essere scritti da qualcun altro.
I test unitari, tuttavia, sono strettamente correlati all'implementazione e influenzano l'architettura.
Perché anche se non usiamo l'approccio TDD in senso stretto, dovremmo comunque progettare tenendo a mente la testabilità, quindi anche scrivere test unitari post factum ha ancora un impatto sul nostro codice.
Non è solo un metodo di apprendimento, ci fornisce preziosi feedback sulla correttezza e sulla manutenibilità del nostro codice. Inoltre, i test unitari sono una (piuttosto valida in realtà) forma di documentarlo.
Leggi altre domande sui tag tdd unit-testing development-process