当我运行ng test --code-coverage时,覆盖率报告有时不会生成,有时不会生成,因此我无法在完成测试套件后验证覆盖率声明。
我的业力配置
// Karma配置文件,请参阅链接以获取更多信息 // https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports =函数(配置){ config.set({ basePath:”, 框架:['jasmine','@ angular-devkit / build-angular'], 插件:[ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-jasmine-html-reporter'), require('karma-coverage-istanbul-reporter'), 要求('@ angular-devkit / build-angular / plugins / karma') ], 客户:{ clearContext:false //使Jasmine Spec Runner输出在浏览器中可见 }, coverageIstanbulReporter:{ dir:require('path')。join(__ dirname,'../coverage'), 报告:['html','lcovonly'], fixWebpackSourcePaths:是 }, 记者:['progress','kjhtml'], 端口:9876, 颜色:真实, logLevel:config.LOG_INFO, autoWatch:是的, 浏览器:['Chrome'], singleRun:错误 }); };
答案 0 :(得分:2)
就我而言,一切似乎都正确,但是控制台上没有生成覆盖文件或消息。
解决问题的方法是编辑angular.json,并添加以下密钥:
projects.ClientApp.test.options.codeCoverage = true;
答案 1 :(得分:1)
原因是,您的代码覆盖率未生成是因为存在一些损坏的单元测试,这些代码停止了代码覆盖率文件夹的生成。即使它产生了一些时间,但是那也必须比平时花费很多时间。请按照以下步骤操作,以识别并修复单元测试,以便每次都会生成代码覆盖文件-
npm test
运行测试。修复所有测试,它应该每次都生成单元测试代码coverage文件夹。
答案 2 :(得分:0)
通过以下命令生成新的代码覆盖范围文件夹
node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --coverage