Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Karma.js获得Jenkins的百分比覆盖率_Jenkins_Karma Runner_Xunit_Karma Coverage - Fatal编程技术网

从Karma.js获得Jenkins的百分比覆盖率

从Karma.js获得Jenkins的百分比覆盖率,jenkins,karma-runner,xunit,karma-coverage,Jenkins,Karma Runner,Xunit,Karma Coverage,我正在运行karma.js进行单元测试并与jenkins管道集成。我的目标是读取Karma抛出的错误类型,如果它是与我想要终止作业的百分比相关的错误,否则即使存在其他错误,如单元测试失败等,也要继续(这是一个要求,并且有原因) 我没有找到一个方法来做这件事。任何想法都很感激 karma start ibx-test/olb/karma.conf.js --browsers PhantomJS --log-level warn --single-run coverageReporter: {

我正在运行karma.js进行单元测试并与jenkins管道集成。我的目标是读取Karma抛出的错误类型,如果它是与我想要终止作业的百分比相关的错误,否则即使存在其他错误,如单元测试失败等,也要继续(这是一个要求,并且有原因)

我没有找到一个方法来做这件事。任何想法都很感激

karma start ibx-test/olb/karma.conf.js --browsers PhantomJS --log-level warn --single-run


coverageReporter: {
        type: 'lcov',
        dir: 'unit-tests/coverage/',
            check: {
                global: {
                lines: 100 //This is just for testing
                }
            }
    }
16:17:43[单元测试]09 03 2017 21:17:43.024:错误[覆盖范围]: PhantomJS 2.1.1(Linux 0.0.0):对行的覆盖率(90.33%)没有 达到全球阈值(100%)


编辑:我在“构建步骤”下的管道语法中找到了“ProcessXUnitTestResultReport”,我能以某种方式使用它吗?因果报应和许妮特之间有关联吗?

我找到了一种方法。“ProcessXUnitTestResultReport”正是有助于做到这一点。我检查了管道语法,它给了我下面的脚本,它成功了

step([$class: 'XUnitBuilder', testTimeMargin: '3000', thresholdMode: 1, 
    thresholds: [
     [$class: 'FailedThreshold', failureNewThreshold: '', 
              failureThreshold: '2', unstableNewThreshold: '', 
              unstableThreshold: '1'], 
     [$class: 'SkippedThreshold', failureNewThreshold: '', 
            failureThreshold: '', unstableNewThreshold: '', 
            unstableThreshold: '']], 
    tools: [[$class: 'JUnitType', deleteOutputFiles: false, 
      failIfNotNew: false, pattern: 'ibx-test/reports/unit-tests/PhantomJS_2.1.1_(Linux_0.0.0)/ibx-test/reports/unit-tests/*.xml',
      skipNoTestFiles: false, stopProcessingIfError: false]]])
  • thresholdMode:表示将用于阈值的(失败或跳过的)测试数。1表示数字,2表示百分比。我使用了1,所以我可以只让一个测试失败,然后得到期望的结果
  • FailedThreshold:用于设置失败阈值的类
  • SkippedThreshold:可用于跳过的测试。我还没用呢
到目前为止,我还没有注意到其他参数

如您所见,我的值为2(failuresreshold:'2')。一旦有两个测试失败,构建就会失败并终止