我们有一个包含大量JavaScript文件的Jenkins作业。我们通过grunt构建项目,并在构建结束时运行JSCover来运行单元测试并收集代码覆盖率。一切正常。我们得到一个不错的LCOV文件。
现在,我们想将LCOV文件上传到Sonar,但我不确定该怎么做。我们正在从詹金斯(Jenkins)建立我们的项目,这是一个自由样式项目。
我尝试使用声纳的各种项目属性,但没有爱:
# project metadata (required) sonar.projectKey=my.project sonar.projectName=My Project sonar.projectVersion=1.0 # path to source directories (required) sonar.sources=src # The value of the property must be the key of the language. sonar.language=java (I tried js and javascript, but no love. Plugin is not installed. Actually, I don't care about the language, since I am already generating the LCOV file during the build. I just need Sonar to use this LCOV file.) # Advanced parameters sonar.javascript.jstestdriver.reportsfolder=target/surefire-reports sonar.javascript.jstestdriver.coveragefile=target/test-coverage/jscover.lcov sonar.dynamicAnalysis=reuseReports
我怀疑问题出在“高级参数”下,但我不知道如何告诉声纳“请使用我的LCOV文件进行代码覆盖”。
您可以看一下该示例项目,其中在sonar-project.properties文件中指定了LCOV报告的路径。
sonar-project.properties
请注意,某些属性名称在Javascript插件的最新版本中已更改。