Unit testing 使用Groovy | Pipeline Execution |报告类型的Jenkins管道中的测试结果报告

Unit testing 使用Groovy | Pipeline Execution |报告类型的Jenkins管道中的测试结果报告,unit-testing,jenkins,groovy,continuous-integration,Unit Testing,Jenkins,Groovy,Continuous Integration,我正在Jenkins中为各种测试框架(NUnit、MSTest等)中编写的测试项目建立测试结果报告,并希望提高我对报告类型以及管道执行中阶段和后期之间差异的理解。管道执行 阶段按照它们出现的顺序执行,如果在后面和前面有任何阶段失败,则不会执行以下阶段 在执行阶段后,无论阶段是否成功完成,都会执行post 报告类型 如果我有一个阶段(产生测试结果): 以及始终运行的post(使用测试结果生成测试结果报告): } 项目变更: 如果我的测试项目是用NUnit编写的,“工具:”中的“ReportType

我正在Jenkins中为各种测试框架(NUnit、MSTest等)中编写的测试项目建立测试结果报告,并希望提高我对报告类型以及管道执行中阶段和后期之间差异的理解。

管道执行

阶段按照它们出现的顺序执行,如果在后面和前面有任何阶段失败,则不会执行以下阶段

在执行阶段后,无论阶段是否成功完成,都会执行post

报告类型

如果我有一个阶段(产生测试结果):

以及始终运行的post(使用测试结果生成测试结果报告):

}

项目变更:

如果我的测试项目是用NUnit编写的,“工具:”中的“ReportType”方法将需要替换为NUnit3,post才能成功执行

如果我的测试项目是用MSTest编写的,“tools:”中的“ReportType”方法需要替换为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)]
}