这是我与竹子有关的Sonarqube的dahsboard: https://imgur.com/a/yOq6iGp
项目构建结果页面如下所示: https://imgur.com/Z126mr7
因此,我想以某种方式在Bamboo中启用测试覆盖率以查看单元测试报告。 我提到我们的棱角项目有本地覆盖。
您能帮我吗?
答案 0 :(得分:0)
您是将结果输出到某种文件还是试图直接从SonarQube获得结果?
通常,通过添加Test Parser任务并将其指向受支持的测试输出文件,将测试结果发布在Bamboo中。
尽管Atlassian在writing your own test collector and reporter上确实有一些不错的文章,所以您可能可以编写一个自定义解析器以直接通过SonarQube通过其API报告。
答案 1 :(得分:0)
您需要将结果转换为SonarQube可以解释的格式。假设您使用的是Jasmine / Karma,这将是LCOV格式。
修改您的构建脚本以包括以下行:
ng test --code-coverage
这应该在您的角度项目中创建coverage文件夹。但是它将是html格式。您还需要更改Karma运行程序,以便它生成lcov.info文件:
// karma.conf.js // .... coverageIstanbulReporter: { dir: require('path').join(__dirname, '../coverage'), reports: ['lcovonly'], fixWebpackSourcePaths: true }, // ....
最后,用以下行更新sonar-project.properties文件,以便SonarQube知道在哪里可以找到覆盖范围:
sonar.typescript.lcov.reportPaths=coverage/lcov/lcov.info