控制Jenkins xUnit插件的参数

时间:2018-05-09 07:37:39

标签: jenkins jenkins-plugins jenkins-pipeline xunit

我有Jenkinsfile,我使用xUnit插件。我想了解这个文件中使用的关键词:

node{
  stage ('Checkout')
  {
    checkout scm
  }
  stage ('Build')
  {
    try {
        sh '''
           mvn clean -B org.jacoco:jacoco-maven-plugin:prepare-agent install
        '''
      } catch (err) {
        // do nothing
      } finally {
        //step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
       step([$class: 'XUnitBuilder', testTimeMargin: '3000', thresholdMode: 1,
    thresholds: [
        [$class: 'FailedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: '1'],
        [$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: '']],
    tools: [
        [$class: 'JUnitType', deleteOutputFiles: false, failIfNotNew: false, pattern: '**/target/surefire-reports/TEST-*.xml', skipNoTestFiles: true, stopProcessingIfError: false]]
    ])
    }
  }
}

SkippedThreshold是什么意思? failureNewThresholdfailureThreshold之间以及unstableNewThresholdunstableThreshold之间有什么区别?

感谢您帮助我理解这一点,我找不到明确的文档。希望这会对其他人有所帮助。

1 个答案:

答案 0 :(得分:1)

第一次配置xUnit时,对于现有项目,您不希望每个测试始终成功。其中一些可能需要一些调整,特别是从jenkins奴隶运行时。

由于您通常不希望在已知的旧版测试中将构建标记为failedunstable,因此您可以指定您希望失败/跳过的测试数量。

您已在文档中说明了配置: https://media.readthedocs.org/pdf/jenkins-job-builder/latest/jenkins-job-builder.pdf

  

<强>参数

     

thresholdmode (str) - 阈值是否代表绝对测试次数或百分比。 '数字'或'百分比'。   (默认'数字')

     

阈值(列表) - “失败”和“跳过”测试的阈值。

     
      
  • 要设置的阈值(dict)阈值,缺少的地方,xUnit应默认为内部值0.每个测试阈值应该   包含以下内容:

         
        
    • unstable(int)

    •   
    • unstablenew(int)

    •   
    • 失败(int)

    •   
    • failurenew(int)

    •   
  •   

failureThresholdunstableThreshold之间的区别是,在将构建设置为FAILED或UNSTABLE之前,您允许失败多少次测试。

如果您授权添加新的失败测试,​​可以使用关键字“new”进行设置。