【问题标题】:Unit test results not showing in Sonar when building child projects in Jenkins在 Jenkins 中构建子项目时,Sonar 中未显示单元测试结果
【发布时间】:2012-09-17 20:44:06
【问题描述】:

我在 Jenkins 中配置了一些 maven 项目,我从父项目中执行它们(在 pom.xml 中将它们作为<modules>,子项目将此项目定义为<parent>)。

在 Jenkins 中,每个项目的单元测试都成功执行并显示结果,但在 Sonar 中,所有项目都显示为没有单元测试。

每个项目的声纳配置是

sonar.projectKey=project:key
sonar.projectName=project_name
sonar.projectVersion=1.0
sources=src/main/java
tests=src/test/java
binaries=target/classes

为了让 Sonar 获取正在执行的单元测试的结果,我是否需要做任何其他事情?

提前致谢。

【问题讨论】:

    标签: unit-testing maven jenkins sonarqube


    【解决方案1】:

    据我所知,我猜您正在尝试使用 Sonar Jenkins 插件“on-the-fly”模式运行 Sonar 分析,您可以在其中指定属性。

    你要明白这个模式不支持运行测试:它只能重复使用测试报告(如果你指定“sonar.dynamicAnalysis=reuseReports”)。

    但是当您使用 Maven 时,为什么不直接运行 Sonar 构建后操作呢? (见documentation for that

    【讨论】:

    • 非常感谢法布里斯!我切换到构建后操作(我不知道我之前是怎么错过的),现在一切正常。 (我不得不将默认的单元测试覆盖工具从 cobertura 切换到 jacoco,因为我的项目使用的是 Java 7,而我还没有更新到 Sonar 3.2)
    猜你喜欢
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2016-03-27
    • 2023-03-09
    • 2015-05-06
    • 2020-03-24
    • 1970-01-01
    相关资源
    最近更新 更多