如何将karma测试报告上传到声纳?

时间:2016-05-11 13:43:39

标签: javascript ant jasmine sonarqube karma-runner

我有业力配置,这让我的报道完全没问题 它给了我lcov格式。 参考此http://docs.sonarqube.org/display/PLUG/JavaScript+Coverage+Results+Import
lcov报告可以上传到声纳。

我已经在声纳中安装了该插件。 我的项目是通过ant脚本构建的,所以我添加了

<property name="sonar.javascript.lcov.reportPath" value="/lcov.info"/>

我在一些博客上看到lcov需要纠正,以便声纳可以理解它。我完成了它 因此lcov会生成并且格式正确。

由于某种原因,声纳无法找到我的lcov报告,也无法解析报告。我检查了我的路径是否正确。
我错过了什么吗? 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:2)

lcov.info可能包含不正确的文件路径。其他工具如工作服工作正常,声纳期望相对路径。这是我的lcov.info看起来的样子。 / source /app/simplebind/child.component.ts不正确,预计会有声纳 src /app/simplebind/child.component.ts

TN:
SF:/source/app/simplebind/child.component.ts
FN:11,(anonymous_3)
FN:17,ChildComponent
FN:22,(anonymous_5)
FNF:3
FNH:3
FNDA:1,(anonymous_3)
FNDA:3,ChildComponent
FNDA:1,(anonymous_5)
DA:1,1
DA:3,1
DA:11,1

使用以下命令替换lcov.info中的文件路径。您可以在从jenkins shell生成gulp之后执行它。

sed -i -- 's/\/source/src/g' report/remap/lcov.info

也适用于Angular2 Typescript Sonar插件。 https://github.com/Pablissimo/SonarTsPlugin

答案 1 :(得分:0)

您必须为声纳添加名为<sonar.javascript.lcov.reportPath>的属性以识别lcov文件。此属性应指向lcov.info文件的位置。

确保在声纳服务器中安装了javascript插件。

答案 2 :(得分:0)

您的LCOV报告的路径设置为/lcov.info,它看起来像绝对路径:您的报告是否真的位于文件系统的根目录中? 如果您的LCOV报告不是文件系统的根目录,而是项目的根目录,则LCOV报告的路径应为lcov.info,而不是/lcov.info

答案 3 :(得分:0)

如果您使用打字稿,请更改sonar.typescript.lcov.reportPaths