Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何生成角度项目的代码覆盖率数据?_Angular_Unit Testing_Continuous Integration_Code Coverage_Bamboo - Fatal编程技术网

Angular 如何生成角度项目的代码覆盖率数据?

Angular 如何生成角度项目的代码覆盖率数据?,angular,unit-testing,continuous-integration,code-coverage,bamboo,Angular,Unit Testing,Continuous Integration,Code Coverage,Bamboo,我试图用竹子填充我的一个项目的代码覆盖率。根据atlassian文档,我们可以使用竹子提供的内置clover插件获得代码覆盖率。但不幸的是,它没有显示任何代码覆盖率信息。有人已经为角度项目集成了此功能吗 注意:构建是使用默认的angular cli生成的,测试结果是由默认的Karma test runner和Istanbul reporter生成的。您的angular项目不会提供“开箱即用”的Clover测试结果。相反,您必须进行一些项目修改并安装一些附加软件包。我通过以下方式实现了这一点: 在

我试图用竹子填充我的一个项目的代码覆盖率。根据atlassian文档,我们可以使用竹子提供的内置clover插件获得代码覆盖率。但不幸的是,它没有显示任何代码覆盖率信息。有人已经为角度项目集成了此功能吗


注意:构建是使用默认的angular cli生成的,测试结果是由默认的Karma test runner和Istanbul reporter生成的。

您的angular项目不会提供“开箱即用”的Clover测试结果。相反,您必须进行一些项目修改并安装一些附加软件包。我通过以下方式实现了这一点:

  • 在Bamboo服务器上安装ChromeHeadless
  • 修改
    package.json
    以包含以下脚本(在脚本下):
  • 在项目目录中使用命令
    runtest
    创建npm任务
  • 修改以满足您的需要。我必须修改outputDir、outputFile,并将reporters更改为junit。我还添加了以下行:
  • 确保安装了
    karma-reporter
    karma-junit-reporter
    并将其显示在package.json文件()中
  • 用竹子添加JUnit解析器任务,该任务从
    **/coverage/JUnit.xml

  • 我想再加2美分。我按照上面的步骤操作,没有生成.xnl文件。我缺少的一点是,junitReporter也应该在karma.conf.js中配置。请参阅项目git hub自述文件。这是生成带有测试结果的.xml文件的基本配置:`junitReporter:{outputDir:'./coverage/my project',outputFile:'junit test results.xml',suite:'',useBrowserName:false}`
    "test": "ng test --code-coverage --watch=false --browsers=ChromeHeadless"
    coverageIstanbulReporter: {
          dir: require('path').join(__dirname, 'coverage'), reports: ['json-summary', 'lcovonly', 'clover'],
          fixWebpackSourcePaths: true
        },