Ho una serie di circa 300 test unitari che hanno attraversato alcuni mesi difficili. I test scadenti sono stati oggetto di aggiornamento da un compilatore V110 (Visual Studio 2008) insieme a Visual Studio 2012 a un compilatore V120 (Visual Studio 2013) insieme a un aggiornamento a Visual Studio 2015.
Questi test stavano passando in VS2012. Hanno rotto in modo orribile dopo l'aggiornamento del compilatore / IDE. Alcune cose erano molto strane, ho passato settimane a cercare di sistemarle, ho lavorato con diversi ingegneri e ho trovato pochissima trazione. Poi un raggio di speranza è arrivato sotto forma di VS2015 Update 3. Ha risolto i test. Per circa 2 giorni. Ora ho incontrato un temuto "Impossibile configurare il contesto di esecuzione per eseguire il test", per un test che ha funzionato la settimana scorsa.
Quindi, i test sono stati un po 'malconcio di recente. Questi sono test critici che il mio team deve eseguire (e che non possiamo inserire le build gated a causa dei test falliti). Abbiamo soluzioni alternative per eseguire i test pezzo per pezzo, in un IDE precedente, dalla riga di comando, o qualsiasi altro numero di trucchi e hack ... ma non possiamo davvero avere trucchi e hack per importanti test unitari.
Non sto chiedendo come risolvere questo insieme specifico di test, ma inoltre come dovrei, come ingegnere del software, iniziare a riguadagnare la stabilità con una serie di test unitari divenuti instabili. Mentre sto scrivendo, la risposta sembra ovvia: scatta il più piccolo sottoinsieme di test falliti e analizza i fallimenti / avvia il processo di debug (che ovviamente sto facendo), ma le cose hanno sempre un strofinare. L'aggiornamento è avvenuto, e non si può tornare indietro, quindi al momento siamo bloccati con alcuni (occasionalmente) test inaffidabili.
Poiché i test possono essere eseguiti (non con facilità e non sempre tutti), la correzione di questi test non sembra mai essere una priorità più alta per il mio team che spingere nuove funzionalità. Sono un SD1 e quindi non ho molta influenza per convincere i membri più anziani del team ad analizzare questi test falliti e mi sento come se stessi ruotando le ruote cercando di fissare i test mentre aspetto il prossimo test / Errore dell'utensile. Cosa dovrei fare?