Testiamo il nostro codice per renderlo più corretto (in realtà, meno probabilità di essere errato ). Tuttavia, anche i test sono in codice: possono contenere anche errori. E se i tuoi test sono corretti, difficilmente miglioreranno il tuo codice.
Posso pensare a tre possibili tipi di errori nei test:
Errori logici, quando il programmatore ha frainteso il compito da svolgere e i test fanno quello che pensava di dover fare, il che è sbagliato;
Errori nel framework di test sottostante (es. Un'astrazione beffarda che perde);
Bug nei test: il test sta facendo leggermente diverso da quello che il programmatore pensa che sia.
Gli errori di tipo (1) sembrano essere impossibili da prevenire (a meno che il programmatore non diventi solo più intelligente). Tuttavia, (2) e (3) possono essere trattabili. Come gestite questi tipi di errori? Hai qualche strategia speciale per evitarli? Ad esempio, scrivi alcuni speciali test "vuoti", che controllano solo i presupposti dell'autore del test? Inoltre, come approcci il debug di un caso di test rotto?