角因果代码覆盖率报告文件夹未生成

时间:2019-08-02 08:03:18

标签: angular unit-testing karma-jasmine code-coverage

当我运行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:错误   }); };

3 个答案:

答案 0 :(得分:2)

就我而言,一切似乎都正确,但是控制台上没有生成覆盖文件或消息。

解决问题的方法是编辑angular.json,并添加以下密钥:

projects.ClientApp.test.options.codeCoverage = true;

答案 1 :(得分:1)

原因是,您的代码覆盖率未生成是因为存在一些损坏的单元测试,这些代码停止了代码覆盖率文件夹的生成。即使它产生了一些时间,但是那也必须比平时花费很多时间。请按照以下步骤操作,以识别并修复单元测试,以便每次都会生成代码覆盖文件-

  1. 使用npm test运行测试。
  2. 打开浏览器并检查测试,不应有任何损坏或失败的测试案例。
  3. 它不应出现任何控制台错误(在控制台上验证并修复。)
  4. 验证所有单元测试是否正在运行并成功通过。有时它会显示已通过的单元测试,但会出现一些弹出错误或控制台错误,因此这些测试会阻止单元测试代码覆盖率的生成。

修复所有测试,它应该每次都生成单元测试代码coverage文件夹。

答案 2 :(得分:0)

通过以下命令生成新的代码覆盖范围文件夹

node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --coverage