如何解决多模块 Scala 项目和声纳扫描仪问题 - 尽管模块不同,但 JUnit 传感器“无法两次添加相同的测量值”
我的项目包含多个模块,包括两个 Scala Play 服务
project
|--first-service
|--app/controllers/StatusController.scala
|--test/controllers/StatusControllerTest.scala
|--second-service
|--app/controllers/StatusController.scala
|--test/controllers/StatusControllerTest.scala
...
我已按以下方式配置了 sonar-project.properties:
sonar.projectKey=myProject
sonar.modules=first-service,second-service
first-service.sonar.sources=app
first-service.sonar.tests=test
second-service.sonar.sources=app
second-service.sonar.tests=test
运行声纳扫描时,我为第一个模块扫描了两个测试(并且应该只扫描第一个):
INFO: ------------- Run sensors on module first-service
INFO: Sensor Scala Sensor [scala]
INFO: Sensor Scala Sensor [scala] (done) | time=23ms
INFO: Sensor Scalastyle Sensor [scala]
INFO: [sonar-scala-scalastyle] Initializing the Scalastyle sensor.
INFO: Sensor Scalastyle Sensor [scala] (done) | time=211ms
INFO: Sensor Scoverage Sensor [scala]
INFO: [sonar-scala-scoverage] Initializing the scoverage sensor.
INFO: [sonar-scala-scoverage] Loading the scoverage report file: 'first-service/target/scala-2.11/scoverage-report/scoverage.xml'.
INFO: [sonar-scala-scoverage] Successfully loaded the scoverage report file.
INFO: Sensor Scoverage Sensor [scala] (done) | time=53ms
INFO: Sensor Scala JUnit Sensor [scala]
INFO: [sonar-scala-junit] Initializing the Scala JUnit sensor.
INFO: [sonar-scala-junit] Saving junit test metrics for first-service/test/controllers/StatusControllerTest.scala.
INFO: [sonar-scala-junit] Saving junit test metrics for second-service/test/controllers/StatusControllerTest.scala.
INFO: Sensor Scala JUnit Sensor [scala] (done) | time=8ms
导致扫描第二个模块时出错:
INFO: ------------- Run sensors on module second-service
INFO: Sensor Scala Sensor [scala]
INFO: Sensor Scala Sensor [scala] (done) | time=26ms
INFO: Sensor Scalastyle Sensor [scala]
INFO: [sonar-scala-scalastyle] Initializing the Scalastyle sensor.
INFO: Sensor Scalastyle Sensor [scala] (done) | time=128ms
INFO: Sensor Scoverage Sensor [scala]
INFO: [sonar-scala-scoverage] Initializing the scoverage sensor.
INFO: [sonar-scala-scoverage] Loading the scoverage report file: 'second-service/target/scala-2.11/scoverage-report/scoverage.xml'.
INFO: [sonar-scala-scoverage] Successfully loaded the scoverage report file.
INFO: Sensor Scoverage Sensor [scala] (done) | time=16ms
INFO: Sensor Scala JUnit Sensor [scala]
INFO: [sonar-scala-junit] Initializing the Scala JUnit sensor.
INFO: [sonar-scala-junit] Saving junit test metrics for first-service/test/controllers/StatusControllerTest.scala.
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 26.241s
INFO: Final Memory: 72M/16275M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Can not add the same measure twice on first-service/test/controllers/StatusControllerTest.scala: DefaultMeasure[component=data-service/test/controllers/StatusControllerTest.scala,metric=Metric[id=<null>,key=skipped_tests,description=Number of skipped unit tests,type=INT,direction=-1,domain=Coverage,name=Skipped Unit Tests,qualitative=true,userManaged=false,enabled=true,worstValue=<null>,bestValue=0.0,optimizedBestValue=true,hidden=false,deleteHistoricalData=false,decimalScale=<null>],value=0,fromCore=false,storage=org.sonar.scanner.sensor.DefaultSensorStorage@281028ce,saved=false]
如何防止每次在两个模块上运行 JUnit 传感器以避免此错误? 我不想更改类和测试名称(我认为有一种方法可以强制考虑整个路径)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。