Testy mogą nie działać sporadycznie z wielu powodów, a identyfikacja przyczyn niepowodzenia często ujawnia kod i środowisko.
Oto kilka możliwych przyczyn:
• Wspólna obiektów - pojedynczych, które utrzymują stan może powodować problemy między testami czy środowisko testowe nie jest resetowany do znanego stanu. czy jeśli testy biegacz wykonuje testy w niedeterministycznym Aby można zobaczyć przypadkowe błędy, które są rzeczywiście wystawienie uszkodzone kwestie państwowe
• zależnościach środowiska i zewnętrznych - żadnego zewnętrznego obiektu, który może pomieścić stan może spowodować nieprzewidywalne rezultaty
• Czas - czasami testy są zapisywane z limitami czasu lub zbyt szybkimi przerwami wątków. Jeśli serwer build pracuje pod dużym obciążeniem te limity czasu może nie być wystarczająco
jako ogólne wytyczne długo, testy muszą być:
- Isolated: Badania koncentrują się na jednym urządzeniu naraz
- powtarzalny: produkuje te same wyniki za każdym razem
- niezależny: kolejność, w jakiej są wykonywane testy nie powinno mieć znaczenia
oczekiwane pliki są tymczasowo zamknięte? uruchamianie w wydania z testami wielowątkowymi na silnym CI, które nie występują na komputerach deweloperów? tymczasowe błędy sieciowe blokujące rzeczy? istnieje wiele rzeczy, które mogą powodować trudne do sprawdzenia niepowodzenia testów jednostkowych ... to wszystko jest częścią rozwiązywania problemów. czy to są te same testy, które okazują się problematyczne? – TZHX