首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sonarQube在scala中显示0%的代码覆盖率

sonarQube在scala中显示0%的代码覆盖率
EN

Stack Overflow用户
提问于 2020-11-18 14:18:40
回答 2查看 2.2K关注 0票数 3

我正在使用sonarQube-8.5.1.38104,我在scala项目中使用它,下面是链接,这是我的plugins.sbt文件

代码语言:javascript
复制
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1")

addSbtPlugin("com.github.mwz" % "sbt-sonar" % "2.2.0")

这是我的build.sbt文件

代码语言:javascript
复制
import sbtsonar.SonarPlugin.autoImport.sonarUseExternalConfig

coverageEnabled := true

sonarProperties ++= Map(
  "sonar.host.url" -> "http://127.0.0.1:9000",
  "sonar.projectName" -> "myproject-backend",
  "sonar.projectKey" -> "sonar-myproject-backend",
  "sonar.sources" -> "src/main/scala-2.13",
  "sonar.tests" -> "src/test/scala-2.13",
  "sonar.junit.reportPaths" -> "target/test-reports",
  "sonar.sourceEncoding" -> "UTF-8",
  "sonar.scala.scoverage.reportPath"->"target/scala-2.13/scoverage-report/scoverage.xml",
  "sonar.scala.scapegoat.reportPath" -> "target/scala-2.13/scapegoat-report/scapegoat.xml"
)

跟随sbt-覆盖范围

然后我做了-> sbt -> coverage -> test -> coverageReport生成了这份报告

代码语言:javascript
复制
[info] Written Cobertura report [/home/user/git/myproject/target/scala-2.13/coverage-report/cobertura.xml]
[info] Written XML coverage report [/home/user/git/myproject/target/scala-2.13/scoverage-report/scoverage.xml]
[info] Written HTML coverage report [/home/user/git/myproject/target/scala-2.13/scoverage-report/index.html]
[info] Statement coverage.: 38.67%
[info] Branch coverage....: 31.58%

然后我做了

sonarScan

并查看http://127.0.0.1:9000/dashboard?id=myproject-backend的报告

然后显示代码覆盖率0.0%单元测试-

我已经核实过报告存在于

代码语言:javascript
复制
target/scala-2.13/scoverage-report/scoverage.xml
target/scala-2.13/scapegoat-report/scapegoat.xml

而类测试报告存在于

代码语言:javascript
复制
target/test-reports

com.myproject.test.abctest.EventTest.xml               com.myproject.test.xyztest.FileUploadTest.xml  TEST-com.myproject.test.xyztest.DirectoryCreationTest.xml
com.myproject.test.abctest.QueryEventTest.xml                TEST-com.myproject.test.abctest.InsertEventTest.xml   TEST-com.myproject.test.xyztest.FileUploadTest.xml
com.myproject.test.xyztest.DirectoryCreationTest.xml  TEST-com.myproject.test.abctest.QueryEventTest.xml

我为什么要得到0%的代码覆盖率呢?我在这里错过了什么?请指点,谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-11-19 13:15:17

我给错钥匙了正确的钥匙是

代码语言:javascript
复制
"sonar.scala.coverage.reportPaths"->"target/scala-2.13/scoverage-report/scoverage.xml",
"sonar.scala.scapegoat.reportPaths" -> "target/scala-2.13/scapegoat-report/scapegoat-scalastyle.xml"

在此之后,我可以获得代码覆盖率%,但单元测试计数仍未完成,因为我认为现在声纳不支持scala,在测试执行https://docs.sonarqube.org/latest/analysis/coverage/中没有提到scala。

票数 2
EN

Stack Overflow用户

发布于 2021-07-22 02:24:05

谢谢@swaheed,由于名誉的限制,我不能在你的帖子上添加评论。

我们在使用声呐-scala时也遇到了这个问题。我们发现可以使用以下属性显示代码覆盖率:

对于sonar.scala.coverage.reportPaths版本8.6:需要像@swaheed所提到的那样使用SonarQube。

"sonar.scala.coverage.reportPaths"->"target/scala-2.13/scoverage-report/scoverage.xml“

对于SonarQube版本8.7.1社区(我遵循这个docker-组合来打开SonarQubeDocker https://github.com/sonar-scala/sonar-scala-docker/blob/master/docker-compose.yml),下面的任何一个属性都是有效的

"sonar.scala.coverage.reportPaths"->"target/scala-2.13/scoverage-report/scoverage.xml“

"sonar.scala.scoverage.reportPath"->"target/scala-2.13/scoverage-report/scoverage.xml“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64894889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档