当前位置: 首页 > 知识库问答 >
问题:

使用Sonarqube/Jenkins管理多个Surefire报告路径

晏弘雅
2023-03-14

在我的公司中,我们开发了由Jenkins CI Server(与tycho一起)持续构建的eclipse插件

  • 在src/com.mycompany中。项目A/我们有项目A的来源。
  • 在test/com.mycompany.projectA.tests中。我们有项目A的单元测试。
  • 在test/com.mycompany.projectA.tests中。swtbot/我们有项目A的swtbot测试

为了让Sonar找到每个源插件测试的Jacoco和SureFire报告,我们在pom.xml中设置了报告路径:

<sonar.jacoco.reportPath>${project.basedir}/../../test/${project.artifactId}.tests.ut/target/jacoco.exec</sonar.jacoco.reportPath>
<sonar.surefire.reportsPath>${project.basedir}/../../test/${project.artifactId}.tests.ut/target/surefire-reports</sonar.surefire.reportsPath>

但这只允许每个插件进行一次测试。为了在SonarQube中查看SwtBot测试覆盖率,我们添加了SWTBot测试作为集成测试(是的,我知道,不是很整洁…)

<sonar.jacoco.itReportPath>${project.basedir}/../../test/${project.artifactId}.tests.swtbot/target/jacoco.exec</sonar.jacoco.itReportPath>

像这样,我们至少可以看到SonarQube中的单元测试覆盖率以及SWTBot测试覆盖率。但是由于我们只能为万无一失的报告设置一个报告路径,因此 Sonar 会忽略这些路径,我们无法看到有多少 SWTBot 测试通过/失败。

是否有一种方便的html" target="_blank">方法来添加要在分析中考虑的保险报告的多个位置?

共有2个答案

司空玮
2023-03-14

也许你可以把每个项目的jacoco.exec追加在一起,把集成的jacoco报告放到Sonar里。下面的链接是集成jacoco报告的一个很好的例子。http://www . lordofthejars . com/2012/07/jaco co-in-maven-multi-module-projects . html

訾渝
2023-03-14

这还不可能,但有一张票可以买到:https://jira.codehaus.org/browse/SONAR-4101

请随意观看并投票。

 类似资料:
  • 我没有更改Checkstyle、Findbugs、Jacoco或PMD插件配置。我在Surefire插件配置中添加了一些行: 这些是声纳插件: 当运行它时,我会得到这样的消息:“'Sonar.DynamicAnalysis‘is deprecated sund version4.3 and should nower be used”。但我不确定还能用什么。相关的JIRA问题也没有说明这一点(htt

  • 我有一个多模块Maven项目,其中覆盖报告位于覆盖Java类之外的另一个模块中。将非空xml覆盖报告(带有覆盖信息)导入Sonarqube是成功的,但显示覆盖范围为0。 复制步骤: 签出以下github项目,并使用构建它。之后,存在一个聚合的xml报告,该报告位于中。您可以在其中以及相应的html-Report中看到覆盖率数据。 编辑:插件“JaCoco xml report importer”已

  • 我需要从maven运行一系列测试。测试通过一系列自定义创建的脚本运行,这些脚本运行类似于qunit的东西,输出junit风格的xml文件,然后复制到target/surefire reports目录中。我想做的是让surefire插件打印我自己运行的测试结果。目前,surefire报告没有运行任何测试(正确,因为它实际上没有运行测试)。 我希望surefire能够找到由我的测试系统创建的junit

  • 我正在AWS Codebuild/Codedeploy上运行测试,测试完成后,会生成一个Surefire HTML文件,但它是空的。当我在IntelliJ上本地运行测试时(不是通过MVN运行),各种JSON和XML测试报告都可以很好地创建。我完全无法理解为什么在IntelliJ上本地运行时会发生这种情况,而在AWS上通过MVN运行时会返回一个空报告。我完全被这件事困住了。 波姆。XML: 建筑规范

  • 我试图得到一个一步一步的肥皂测试报告到詹金斯。我已经在jenkins命令链接中添加了soapui testrunner,请参见下面: 开始“C:\程序文件(x86)\smartbear\soapui-5.2.1\bin\testrunner.bat”-R-A-J-“C:\users\cverma\desktop\qa-soapui-project.xml” 我想知道它将junit报告保存在哪里?我

  • 我现在的Jenkins运行多个构建。每个构建/运行都将创建自己的testng-results.xml(target/surefire-reports/testng-results.xml) 我检查了Jenkins job主页上的HTML报告的结果(该报告只显示最新构建/运行的报告)。 不管怎样,为了得到这个?

  • 我的sonarqube服务器版本8.3.1启用了cobertura插件来显示cobertura覆盖报告。现在我想报告Jacoco XML覆盖数据(使用gradle Jacoco插件生成),但它不起作用。cobertura和Jacoco之间是否存在任何已知问题?或者两种机制都应该在一个sonarqube上工作?