I test delle unità automatizzate dovrebbero far parte del processo di compilazione o dovrebbero essere eseguiti manualmente quando invece qualcuno apporta modifiche al codice?
Per me sembra che farne parte della build piuttosto che lasciarla in un processo manuale ha dei chiari vantaggi. Eseguire i test con la build li farebbe eseguire più frequentemente e impedirebbe loro di sincronizzarsi con il codice.
Lo svantaggio di eseguirli con la build è che aumenterebbe i tempi di costruzione e potrebbe causare il fallimento di una build, ma avevo l'impressione che i test che richiedono più di un paio di centesimi di secondo non siano buoni test . Inoltre, se una build fallisce a causa di un test non sarebbe una buona cosa? Ti impedirebbe di distribuire codice spezzato.
Non vedo molte persone che eseguono i test direttamente come parte della compilazione, quindi mi chiedo perché di solito sono separati.