Ähnlich wie die hier veröffentlichte Lösung TestNG retrying failed tests doesn't output the correct test results, ich versuche, ein (doppeltes) Testergebnis mit einem Test-Listener während onFinish (ITestContext Kontext) zu entfernen.Entfernen (Duplizieren) fehlgeschlagen TestNG Ergebnis über Test-Listener
Obwohl das Entfernen des Ergebnisses mit context.getFailedTests(). RemoveResult (result) ordnungsgemäß zu funktionieren scheint (das Ergebnis wird tatsächlich entfernt), scheint "an anderer Stelle" die Ursache zu liegen Der Build schlägt immer noch fehl.
Beachten Sie auch, dass, wenn ich die Probe-Test aus dem Artikel oben laufen (was ein doppelter Ausfall muss entfernt werden und eine bestandene Prüfung), habe ich einen Unterschied in der „Testergebnisse“ erhalten vs. (nicht wie erwartet bereinigt) "Suite-Ergebnisse" (doppelte Fehler wurden wie erwartet entfernt).
Und, wo zieht die Berichterstattung die Ergebnisse aus, um zu entscheiden, ob der Build fehlschlägt? Oder ist es nur, dass es die Ergebnisse zieht, bevor ich die fehlgeschlagenen Tests bereinige ...?
===============================================
Default test
Tests run: 3, Failures: 2, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 2, Failures: 1, Skips: 0
===============================================
EDIT: Nur um zu klären, werden wir diese Tests mit Maven ausgeführt wird, und sie sind die, so laufen wir sie mit dem Failsafe-Plugin. Das Problem ist, dass, obwohl die Tests anscheinend entfernt werden, mvn verify immer noch den Build durchlässt, da Build-Fehler unabhängig davon gefunden werden.
Und auch wenn Sie einen solchen Test von Eclipse ausführen, obwohl die Tests entfernt wurden, werden weiterhin Fehler im Protokoll gedruckt, wenn die Suite beendet ist.
Über RetryAnalyzer: Ich würde RetryAnalyzer überhaupt nicht als gute/bewährte Methode betrachten, aber wenn Sie sich in einer Situation befinden, in der Sie das Problem lösen müssen, z. Wenn Sie eine Testsuite geerbt haben, die auf RetryAnalyzer basiert, können Sie dies als nützlich empfinden.
Haben Sie zwischendurch eine Lösung für dieses Problem gefunden? – MrSpock
Wir haben irgendwie etwas "Nutzbares" herausgefunden, obwohl nicht das, was ich letztendlich wollte. Ich werde versuchen, in den nächsten Tagen etwas Zeit zu finden, um den Code aufzuräumen und zu posten. – mac
Begierig, deine Lösung zu sehen! – MrSpock