Zum Inhalt springen

Leitfäden

Wie man mit instabilen CI-Jobs umgeht

Tests schlagen nach dem Zufallsprinzip fehl und die Leute versuchen es erneut, bis sie bestehen.

6 Min. Lesezeit

Tests schlagen nach dem Zufallsprinzip fehl und die Leute versuchen es erneut, bis sie bestehen.

Symptome

  • Derselbe Test schlägt bei unverändertem Code fehl
  • Wiederholungen sind Routine
  • Echte Fehler werden ebenfalls wiederholt

Warum es passiert

Flakes entstehen normalerweise durch den gemeinsamen Zustand, zeitliche Annahmen oder die Abhängigkeit von der Testreihenfolge – und bei einem erneuten Versuch werden alle drei ausgeblendet.

So beheben Sie das Problem

  1. Verfolgen Sie die Fehlerquote pro Test, um die schlimmsten Übeltäter zu identifizieren
  2. Unter Quarantäne stellen Sie unregelmäßige Tests in einen nicht blockierenden Job ein, anstatt sie blind erneut zu versuchen
  3. Beheben Sie die Grundursache: gemeinsam genutzte Geräte, echte Uhren, nicht gesetzte Zufälligkeiten, Portkollisionen
  4. Führen Sie niemals pauschale Wiederholungstests durch – echte Fehler werden dadurch in zeitweise auftretende Fehler umgewandelt

Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis

Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.