如何在用于 SonarQube 的 Spring 引导应用程序中将 JUNIT 测试结果导出为 XML?

How to Export JUNIT Test Result as XML in Spring Boot Application for SonarQube Purpose?

我已经在 Google 和 Whosebug 上搜索过这个问题,但没有任何与此类问题相关的答案。

所以问题是,我有一个带有 Spring MVC 的项目。我创建了这样的简单测试:

@Autowired
private UserLogicService logicService;;


@Test
public void helloTrue(){
    //return should be 1
    assertThat(logicService.hello(), is(1)); //test return success
}
@Test
public void helloFalse(){
    //return should be 1
    assertThat(logicService.hello(), is(2)); //test return fail
}

然后我需要将它导出到 XML 因为我阅读了 SonarQube 的文档,HERE,测试执行报告必须符合 JUnit XML 格式。

我使用第三方 SonarScanner 来扫描我的 Spring 项目。所以我需要将我的 JUnit 结果导出为 XML 并使用 SonarScanner 扫描它。

是否有自动将 JUnit 测试结果作为 XML 文件导出到文件夹的设置?

我建议使用像 maven 或 gradle 这样的构建工具。在那里你可以找到适合你的插件。

Gradle plugins

使用 JaCoCo 或 Cobertura 执行测试,然后使用 sonar.jacoco.reportPathsonar.cobertura.reportPath 提供覆盖率报告的路径,如 in the docs 所述。

如果您的测试引擎不提供语言分析器已经理解的格式,您只需要翻译成 XML 格式。