Angular 代碼覆蓋率

2022-07-07 10:04 更新

找出你要測試多少代碼

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

如果你要試驗(yàn)本指南中所講的應(yīng)用,請(qǐng)在瀏覽器中運(yùn)行它下載并在本地運(yùn)行它。

要生成覆蓋率報(bào)告,請(qǐng)?jiān)陧?xiàng)目的根目錄下運(yùn)行以下命令。

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

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

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

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

代碼覆蓋的實(shí)施

代碼覆蓋率可以讓你估算出你的代碼測試了多少。如果你的團(tuán)隊(duì)確定要設(shè)置單元測試的最小覆蓋率,可以使用 Angular CLI 來強(qiáng)制實(shí)施這個(gè)最低要求。

比如,假設(shè)你希望代碼庫的代碼覆蓋率至少達(dá)到 80%。要啟用此功能,請(qǐng)打開 Karma 測試平臺(tái)的配置文件 ?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 ?屬性會(huì)讓該工具在項(xiàng)目中運(yùn)行單元測試時(shí)強(qiáng)制要求至少 80%的代碼覆蓋率。

可以在此處找到關(guān)于其它覆蓋率配置項(xiàng)的更多信息。


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)