📜  Angular CLI-代码覆盖率(1)

📅  最后修改于: 2023-12-03 15:13:23.475000             🧑  作者: Mango

Angular CLI-代码覆盖率

在Angular开发过程中,了解应用程序的代码覆盖率非常重要。代码覆盖率是指被自动化测试代码覆盖的代码行数和百分比,它可以帮助您了解应用程序代码的质量和安全性。

Angular CLI是一个命令行界面,它可以帮助您快速创建,开发和测试Angular应用程序。在这篇文章中,我们将介绍如何在Angular CLI中配置和运行代码覆盖率测试用例。

配置

首先,我们需要在angular.json文件中启用代码覆盖率测试选项。在projects > your-project-name > architect > test > options对象内添加coverage选项,如下所示:

"projects": {
  "your-project-name": {
    ...
    "architect": {
      "test": {
        ...
        "options": {
          ...
          "codeCoverage": true
        } 
      }
    }
  }
}

然后,我们需要安装karma-coverage和istanbul-instrumenter-loader。在命令行中运行以下命令:

npm i karma-coverage istanbul-instrumenter-loader --save-dev

最后,在karma.conf.js文件中,启用覆盖率报告插件,并确定报告输出路径。在reporters数组内添加'coverage',如下所示:

module.exports = function (config) {
  config.set({
    ...
    reporters: ['progress', 'coverage'],
    coverageReporter: {
      dir: require('path').join(__dirname, './coverage/your-project-name'),
      subdir: '.',
      reporters: [
        { type: 'html' },
        { type: 'text-summary' }
      ]
    }
  });
};
运行测试

现在,我们已经完成了配置步骤,接下来是运行测试。在命令行中运行以下命令:

ng test --code-coverage

这会启动测试,并在测试完成后生成覆盖率报告。生成的报告可以在coverage文件夹下的your-project-name文件夹中找到。

分析报告

打开coverage文件夹下的index.html文件,您将看到有关测试用例覆盖率的详细信息,包括总行数,未覆盖的行数,覆盖率百分比等。

Coverage Report

总结

在这篇文章中,我们介绍了如何在Angular CLI中配置和运行代码覆盖率测试用例。了解代码覆盖率可以帮助您确保应用程序的质量和安全性。如果您正在开发一个重要的项目,强烈建议您使用代码覆盖率测试。