簡體   English   中英

使用 Karma/Istanbul 設置目標代碼覆蓋率

[英]Setting Target Code Coverage with Karma/Istanbul

我正在使用 Karma-Coverage(Istanbul) 運行 Karma Maven 插件以進行代碼覆蓋。 Karma-Coverage 似乎默認為 80% 所需(建議?)代碼覆蓋率,但是我想在項目中強制執行 90% 的代碼覆蓋率。 但是,我不知道在哪里設置它。

有沒有辦法通過 Karma/Istanbul 強制執行目標代碼覆蓋率?

這記錄在repodocs 文件中。 查找有關“檢查”屬性的部分。

這將用於配置覆蓋結果的最低閾值強制執行。 如果未達到閾值,業力將返回失敗。 閾值,當指定為正數時,被視為所需的最小百分比。 當閾值指定為負數時,它表示允許的未覆蓋實體的最大數量。

例如, statements: 90表示最小語句覆蓋率為 90%。 statements: -10表示允許的未覆蓋語句不超過 10 個。

global適用於所有文件, each文件都適用於each文件。 可以通過exclude屬性從強制執行中exclude文件或模式列表。 在每個文件或模式的基礎上,可以通過overrides屬性覆蓋每個文件的閾值。

coverageReporter: {
  check: {
    global: {
      statements: 50,
      branches: 50,
      functions: 50,
      lines: 50,
      excludes: [
        'foo/bar/**/*.js'
      ]
    },
    each: {
      statements: 50,
      branches: 50,
      functions: 50,
      lines: 50,
      excludes: [
        'other/directory/**/*.js'
      ],
      overrides: {
        'baz/component/**/*.js': {
          statements: 98
        }
      }
    }
  }
}

如果您查看@MarcoCI 引用的代碼,您會看到 karma 正在執行相當標准的選項合並,這意味着您不必重新創建整個檢查對象。 只是你關心的價值觀。 默認值為 0。

使用檢查選項作為@SeanH 的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM