我正在 Jenkins 中为在各种测试框架(NUnit、MSTest 等(中编写的测试项目设置测试结果报告,并希望提高我对报告类型的理解以及管道执行中阶段和发布之间的差异。
管道执行
阶段按其出现的顺序执行,如果之后有任何阶段和之前的阶段失败,则不会执行以下阶段。
无论阶段是否成功完成,在阶段执行之后,都会执行 post。
报告类型
如果我有一个阶段(产生测试结果(:
stage('MSTest') {
steps {
bat(script: 'dotnet test "..\TestsProject.csproj" --logger "trx;LogFileName=TestResult.xml"')
}
}
以及始终运行的帖子(使用测试结果以生成测试结果报告(:
post {
always {
xunit testTimeMargin: '5000', thresholdMode: 1, thresholds: [], tools: [ReportType(deleteOutputFiles: true, failIfNotNew: false, pattern: '..\TestResult.xml', skipNoTestFiles: false, stopProcessingIfError: false)]
}
}
项目变更:
如果我的测试项目是用 NUnit 编写的,则需要将"tools:"中的"ReportType"方法替换为 NUnit3 才能成功执行帖子。
如果我的测试项目是用 MSTest 编写的,则"工具:"中的"报告类型"方法需要替换为 MSTest,才能成功执行帖子。