angular - Angular 2 的代码覆盖率

标签 angular unit-testing typescript code-coverage

如何找到 Angular 2 代码的代码覆盖率?有没有我可以使用的 vs 代码编辑器或 webstorm 插件?我正在使用 Jasmine 和 Karma 对我的代码进行单元测试。

最佳答案

如果你想查看总体测试覆盖率统计数据,而不是在 Angular CLI 中,你当然可以直接键入,然后查看命令提示符窗口的底部

ng test --code-coverage

结果:

console view of tests coverage

如果您想查看组件的单独测试覆盖率,请按照以下步骤操作。

  1. npm install --save-dev karma-teamcity-reporter

  2. require('karma-teamcity-reporter') 添加到 karma.conf.js 中的插件列表

  3. ng 测试 --code-coverage --reporters=teamcity,coverage-istanbul

请注意,报告者列表以逗号分隔,因为我们添加了新报告者 teamcity。

运行此命令后,您可以在目录中看到文件夹 coverage 并打开 index.html 以查看测试覆盖率的图形 View 。

enter image description here

您还可以在 karma.conf.js 中设置您想要达到的覆盖率阈值,如下所示。

coverageIstanbulReporter: {
      reports: ['html', 'lcovonly'],
      fixWebpackSourcePaths: true,
      thresholds: {
        statements: 90,
        lines: 90,
        branches: 90,
        functions: 90
      }
    },

关于angular - Angular 2 的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44463706/

相关文章:

javascript - Angular 2 中针对每个请求的自定义 Http header

javascript - Ng Date Picker 如何格式化为不同的输出而不是 ISO-8601

node.js - Angular 生产错误 : Property does not exist on type 'object'

javascript - 开 Jest 没有找到测试

javascript - 测试 html 输出,但未定义

typescript - Angular2 合并可观察对象

c# - 使用 EF Core 和内存数据库进行单元测试

typescript - 从 typescript 中的值获取枚举的键

javascript - JS如何用单行设置范围之外的值

typescript - 重载函数的返回类型安全,TypeScript