繁体   English   中英

JUnit 测试未在 Sonar-Jenkins 管道中显示

[英]JUnit Tests not showing in Sonar-Jenkins Pipeline

这是我的 sonar.properties 文件

sonar.host.url=https://sonar.cloud.health.ge.com/
sonar.projectKey=ils
sonar.projectName=ILS
sonar.projectVersion=1.0.0
sonar.sources=library/core
sonar.java.binaries=library/core/target/classes
sonar.exclusions=library/core/target/**/*, library/core/src/test/**/*
sonar.tests=library/core/src/test/
sonar.java.test.libraries=library/core/target/test-classes/

> sonar.junit.reportsPath=library/core/target/surefire-reports/CalculatorTest.xml
// test cases are generated fine but sonarqube is not taking the junit reports in the pipeline

sonar.coverage.jacoco.xmlReportPaths=library/core/target/site/jacoco/jacoco.xml

我已经手动推送了测试报告,下面是 Jenkins 文件中的单元测试命令

unitTestCommand          = 'cd library/core && mvn test && mvn surefire-report:report'
unitTestReportDir        = 'library/core/target/site'
arch                     = 'hc-eu-west-aws-artifactory.cloud.health.ge.com/docker-eis-all/build-tools-eis-repo:1.0.0'

您需要使用 jacoco maven 插件 ( https://www.jacoco.org/ ) 来生成覆盖率报告。

unitTestCommand          = 'cd library/core && mvn org.jacoco:jacoco-maven-plugin:prepare-agent test org.jacoco:jacoco-maven-plugin:report && mvn surefire-report:report'

已解决的问题路径中存在问题,sonar.junit.reportsPath 应指向目录而不是特定文件:

sonar.junit.reportsPath=library/core/target/surefire-reports/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM