问题描述
我正在尝试在我的 Angular 项目中实现一个脚本,当我完成一个功能时我可以运行该脚本。我把脚本放在我的 project.json 中。
"fin": "ng lint && ng test --watch=false --code-coverage && ng e2e && ng build --prod"
我在我的 karm.conf.js 中添加了
coverageIstanbulReporter: {
reports: ["html","lcovonly"],fixWebpackSourcePaths: true,thresholds: {
global: {
statements: 100,lines: 100,branches: 100,functions: 100,},each: {
statements: 100,
目标是使用一个命令运行 tslint、具有代码覆盖率的单元测试、e2e 测试和生产构建,并且脚本在出现错误时停止。它几乎可以在代码覆盖部分旁边工作。未达到阈值时不会抛出错误,以便脚本继续运行。
知道我做错了什么吗?
解决方法
您在运行 ng test
后是否看到了如下所示的覆盖率报告?
我使用的是 Angular 5 并且在 plugins
数组中我有 require('karma-coverage-istanbul-reporter')
以及 coverageIstanbulReporter
对象,我没有全局或每个配置。
这是我的 coverageIstanbulReporter
对象:
查看此 link 并尝试复制代码覆盖率执行部分。它可能与 karma-coverage-istanbul-reporter
的文档不同,因为我想到的是 CLI。
我现在明白了。我不得不在 karma.conf.js 的报告器数组中添加“coverage-istanbul”。