使用Groovy在Jenkins管道中生成测试结果报告|管道执行|报告类型

时间:2018-08-30 06:55:15

标签: unit-testing jenkins groovy continuous-integration

我正在Jenkins中为以各种测试框架(NUnit,MSTest等)编写的测试项目设置测试结果报告,并且希望增进我对报告类型以及管道执行阶段和发布之间的区别的理解

1 个答案:

答案 0 :(得分:0)

管道执行

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

在阶段执行之后,无论阶段是否成功完成,都会在哪里执行发布。

报告类型

提供一个阶段(产生测试结果):

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编写的,则“ tools:”中的“ ReportType”方法将需要用MSTest替换,以便帖子能够成功执行。