NUnit-report markiert Build nicht als Fehler
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
Das Plugin hat das Ergebnis auf gesetzt, UNSTABLE
da die Option failedTestsFailBuild standardmäßig auf gesetzt ist false
.
Sie können das Verhalten steuern gilt von NUnit, Einstellung failedTestsFailBuild
zu 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.