NUnit-report markiert Build nicht als Fehler

Dec 04 2020

In meinem Freestyle-Jenkins-Job führe ich Unit-Tests über den Schritt "Windows-Batch-Befehl ausführen" aus:

call "C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" MyAssembly.dll
call SomeOtherProcess

Da es Tests gibt, die fehlschlagen, hatte ich erwartet, dass auch der Build fehlschlägt. Der Test-Publishing-Schritt für NUnit markiert den Build jedoch als instabil:

Build step 'Publish NUnit test result report' changed build result to UNSTABLE

Wenn ich die SomeOtherProcess-line aus meinem Batch-Skript entfernen würde , funktioniert alles einwandfrei und die von nunit erzeugten Fehler werden als Fehler im Build-Prozess gemeldet.

Ich habe ein ähnliches Problem für den JUnit-Test-Reporter gelesen ( Jenkins JUnit Plugin meldet einen Build als instabil, selbst wenn der Test fehlschlägt ). Offensichtlich unterstützt dieser Reporter nicht einmal das Fehlschlagen des Builds. Ich bin mir nicht sicher, ob dies auch für den NUnit-Reporter gilt.

Antworten

1 sumitani Dec 11 2020 at 04:31

Das Plugin hat das Ergebnis auf gesetzt, UNSTABLEda die Option failedTestsFailBuild standardmäßig auf gesetzt ist false.

Sie können das Verhalten steuern gilt von NUnit, Einstellung failedTestsFailBuildzu true. Wenn Sie von einer Skript- oder deklarativen Pipeline aus aufrufen.

Das Problem ist, dass die GUI nicht alle für dieses Plugin verfügbaren Optionen widerspiegelt. Es ist eine PR geöffnet, um diese Option in die Freestyle-Pipeline aufzunehmen. Sie können abstimmen oder den Status dieser PR erfragen.

Um zu einem Fehler zu wechseln, müssen Sie das instabile Ergebnis abfangen und mithilfe eines Plugins oder einer Skript- oder deklarativen Pipeline auf Fehler setzen.