nicht jedes Plugin kennen Sie nur die schuppigen/nicht bestandenen Tests wieder, nur die ganze Build auszuführen. Es sollte möglich sein, ich habe gerade keine gefunden (und habe nicht genug Zeit auf meiner Hand, um eine zu schreiben). Hier ist, was wir auf einem großen Java-Projekt tat, wo die Build wurde ant basiert:
Der Build selbst ziemlich einfach war (xml als Formatierer in der JUnit Ant-Task verwenden):
ant clean compile test
Der Build auch akzeptiert Einzelklassennamen als Parameter (mit batchtest Abschnitt innerhalb der junit ant-Task enthält):
ant -Dtest.class.pattern=SomeClassName test
Am Ende des jenkins Jobs, nutzten wir den „Execute shell“ bauen Schritt. Die Idee war, nach allen Testergebnissen zu suchen, die Fehler oder Fehler hatten, den Namen der Klasse herauszufinden und dann diese bestimmte Testklasse erneut auszuführen. Die Datei, die den Fehler enthält, wird überschrieben, und der Testkollektor am Ende des Builds sieht während der Post-Build-Schritte keinen Flock-Testfehler.
#!/bin/bash +x
cd ${WORKSPACE}
for i in $(seq 1 3); do
echo "Running failed tests $i time(s)"
for file in `find -path '*/TEST-*.xml' | xargs grep 'errors\|failures' | grep '\(errors\|failures\)="[1-9]' | cut -d ':' -f 1`; do
class=`basename ${file} .xml | rev | cut -d '.' -f 1 | rev`
ant -Dtest.class.pattern=${class} test
done
done
Nachdem Sie den Build wieder in den Griff bekommen haben, müssen Sie unbedingt die flockigen Tests angehen. Lass dich nicht von dem grünen Build täuschen, es gibt noch viel zu tun.
Ich denke, die Antwort, die S. Spieker Ihnen gab, ist die einzige, die auf lange Sicht sinnvoll ist. Wenn einige Ihrer Tests nicht zuverlässig sind, dann sollten Sie herausfinden, warum das so ist. und was zu tun ist, um sie stabil zu machen. – GhostCat