Я использую C#, coverlet.msbuild и адаптер Jenkins Cobertura. У меня примерно есть это в моем Jenkinsfile:
stage ('Run unit tests') {
steps {
powershell "dotnet test -c:Release /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --no-build --no-restore --logger trx"
}
post {
always {
step([$class: 'MSTestPublisher'])
publishCoverage failUnhealthy: true,
globalThresholds: [[thresholdTarget: 'Package', unhealthyThreshold: 50.0]],
adapters: [coberturaAdapter(
mergeToOneReport: true,
path: '**/*.cobertura.xml')]
}
}
}
Это делает мою сборку Jenkins неудачной, если охват на уровне пакета ниже 50%. Все идет нормально.
Но когда сборка не удается из-за этого, она враждебна к пользователю и трудно понять, почему. Стадия «Выполнить юнит-тесты» зеленого цвета в синем океане.
Могу ли я сделать этот этап красным, когда он не удастся собрать, чтобы было легче увидеть, в чем ошибка?