NUnit-report ne marque pas la construction comme une erreur

Dec 04 2020

Dans mon travail Jenkins freestyle, j'exécute des tests unitaires via l'étape "Exécuter la commande batch Windows":

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

Comme il y a des tests qui échouent, je m'attendais à ce que la construction échoue également. Cependant, l'étape de publication de test pour NUnit marque la construction comme instable:

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

Si je supprime la SomeOtherProcessligne de mon script batch, tout fonctionne bien et les erreurs produites par nunit sont signalées comme des erreurs dans le processus de construction.

J'ai lu un problème similaire pour le JUnit-test-reporter ( Jenkins JUnit Plugin signale une construction comme instable même si le test échoue ). De toute évidence, ce journaliste ne prend même pas en charge l'échec de la construction. Je ne suis pas sûr que cela s'applique également au journaliste NUnit.

Réponses

1 sumitani Dec 11 2020 at 04:31

Le plugin a défini le résultat sur UNSTABLEcar l'option, par défaut, failedTestsFailBuild est définie sur false.

Vous pouvez contrôler le comportement applique des NUnit, la mise failedTestsFailBuildà true. Lorsque vous appelez à partir d'un pipeline scripté ou déclaratif.

Le problème est que l'interface graphique ne reflète pas toutes les options disponibles pour ce plugin. Il y a un PR ouvert pour inclure cette option dans le pipeline freestyle, vous pouvez voter ou demander le statut de ce PR.

Pour passer à une erreur, vous devez intercepter le résultat instable et le définir en échec à l'aide d'un plugin ou d'un pipeline scripté ou déclaratif.