如何找到角度2代码的代码覆盖率?我可以使用vs代码编辑器或webstorm的插件吗?我正在使用Jasmine和Karma对我的代码进行单元测试。
答案 0 :(得分:20)
如果您想查看整体测试覆盖率统计信息,而不是Angular CLI,您只需键入,然后查看命令提示符窗口的底部
ng test --cc // or --code-coverage
结果:
如果您想查看组件的各个测试覆盖率,请遵循以下步骤。
npm install --save-dev karma-teamcity-reporter
将require('karma-teamcity-reporter')
添加到karma.conf.js中的插件列表
ng test --code-coverage --reporters=teamcity,coverage-istanbul
请注意,记者名单以逗号分隔,因为我们增加了一名新的记者,团队城市。
运行此命令后,您可以在目录中看到文件夹coverage
并打开index.html
以获取测试覆盖率的图形视图。
您还可以在karma.conf.js
中设置您想要达到的覆盖率阈值。
coverageIstanbulReporter: {
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true,
thresholds: {
statements: 90,
lines: 90,
branches: 90,
functions: 90
}
},
答案 1 :(得分:3)
首先安装依赖项。
npm install karma karma-jasmine karma-chrome-launcher karma-jasmine-html-reporter karma-coverage-istanbul-reporter
然后运行ng test。
ng test --code-coverage
然后运行显示报告的服务器。
http-server -c-1 -o -p 9875 ./coverage
你应该看到这样的事情:
我写了一篇关于这个here的博文。
答案 2 :(得分:1)
我挣扎着这个。我发现的解决方案是
ng test --code-coverage
但请确保在你的karma.conf.js文件中指定了一个记者(我使用'coverage-istanbul')
e.g。 reporters: ['coverage-istanbul']
覆盖率报告将位于根目录中名为“coverage”的目录中。
答案 3 :(得分:0)
ng test --code-coverage
或
ng test --code-coverage --reporters=teamcity,coverage-istanbul