NUnit-report não marca build como erro
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 SomeOtherProcess
linha -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
O plug-in definiu o resultado como UNSTABLE
porque a opção, por padrão, failedTestsFailBuild está definida como false
.
Você pode controlar o comportamento se aplica ao NUnit, definindo failedTestsFailBuild
como 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.