Angular 代碼覆蓋率

2022-07-07 10:04 更新

找出你要測試多少代碼

CLI 可以運行單元測試并創(chuàng)建代碼覆蓋率報告。代碼覆蓋率報告會向你展示代碼庫中可能無法通過單元測試進行正確測試的任意部位。

如果你要試驗本指南中所講的應用,請在瀏覽器中運行它下載并在本地運行它。

要生成覆蓋率報告,請在項目的根目錄下運行以下命令。

ng test --no-watch --code-coverage

測試完成后,該命令會在項目中創(chuàng)建一個 ?/coverage? 目錄。打開 ?index.html? 文件,可以查看帶有源代碼和代碼覆蓋率值的報表。

如果要在每次測試時都創(chuàng)建代碼覆蓋率報告,可以在 CLI 配置文件 ?angular.json? 中設置以下選項:

"test": {
  "options": {
    "codeCoverage": true
  }
}

代碼覆蓋的實施

代碼覆蓋率可以讓你估算出你的代碼測試了多少。如果你的團隊確定要設置單元測試的最小覆蓋率,可以使用 Angular CLI 來強制實施這個最低要求。

比如,假設你希望代碼庫的代碼覆蓋率至少達到 80%。要啟用此功能,請打開 Karma 測試平臺的配置文件 ?karma.conf.js?,并在 ?coverageReporter:? 鍵下添加 ?check ?屬性。

coverageReporter: {
  dir: require('path').join(__dirname, './coverage/<project-name>'),
  subdir: '.',
  reporters: [
    { type: 'html' },
    { type: 'text-summary' }
  ],
  check: {
    global: {
      statements: 80,
      branches: 80,
      functions: 80,
      lines: 80
    }
  }
}

?check ?屬性會讓該工具在項目中運行單元測試時強制要求至少 80%的代碼覆蓋率。

可以在此處找到關于其它覆蓋率配置項的更多信息。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號