2017-03-09 77 views
0

我運行karma.js進行單元測試並與jenkins管道集成。我的目標是讀取從Karma拋出的錯誤類型,如果錯誤與我想要終止工作的百分比有關,或者繼續,即使存在其他錯誤(如單元測試失敗等)(這是一個要求,並且存在原因)與Jenkins獲得來自Karma.js的百分比覆蓋率

我沒有找到辦法做到這一點。任何想法都很感激!

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:ERROR [覆蓋率]: PhantomJS 2.1.1(Linux的0.0.0):覆蓋範圍線(90.33%)不符合 全局閾值(100%)

編輯:我在管道語法發現「過程的xUnit測試結果報告」下的「構建步驟」,我可以以某種方式使用它?業力報告與xUnit之間是否存在關聯?

回答

0

我找到了一種方法來做到這一點。 「Process xUnit測試結果報告」有助於做到這一點。我檢查了Pipeline語法,它給了我下面的腳本,它工作。

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(failureThreshold:'2')。只要我有2個測試失敗,構建失敗並終止。

相關問題