NUnit-report não marca build como erro

Dec 04 2020

No meu trabalho do Jenkins de estilo livre, estou executando testes de unidade por meio da etapa "execute o comando em lote do Windows":

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

Como existem testes que falham, eu esperava que a compilação também falhasse. No entanto, a etapa de publicação de teste para NUnit torna a compilação instável:

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

Se eu remover a SomeOtherProcesslinha -line do meu script em lote, tudo funcionará bem e os erros produzidos pelo nunit serão relatados como erros no processo de construção.

Eu li um problema semelhante para o JUnit-test-reporter ( Jenkins JUnit Plugin relata uma compilação como instável mesmo se o teste falhar ). Obviamente, esse repórter nem mesmo suporta falhas na compilação. Não tenho certeza se o mesmo se aplica ao NUnit-reporter também.

Respostas

1 sumitani Dec 11 2020 at 04:31

O plug-in definiu o resultado como UNSTABLEporque a opção, por padrão, failedTestsFailBuild está definida como false.

Você pode controlar o comportamento se aplica ao NUnit, definindo failedTestsFailBuildcomo true. Quando você chama de um pipeline com script ou declarativo.

O problema é que a GUI não reflete todas as opções disponíveis para este plug-in. Há um PR aberto para incluir essa opção dentro do pipeline de freestyle, você pode votar ou perguntar o status deste PR.

Para mudar para um erro, você precisa capturar o resultado instável e configurá-lo para falha usando um plug-in ou um pipeline com script ou declarativo.