【问题标题】:How to prevent SonarQube from skipping additional surefire executions?如何防止 SonarQube 跳过额外的万无一失的执行?
【发布时间】:2013-12-28 17:59:36
【问题描述】:

我的 Maven 项目配置了多个surefire 执行,以确保在对类路径等稍作修改的情况下运行不同的测试组(请参阅pom.xml)。运行构建作业时,测试按预期执行。

运行 Maven Sonar 插件的构建作业仅运行默认测试执行并跳过其他测试配置,这实际上导致 Sonar 报告 0% 的测试覆盖率。如何调整 Maven Sonar 插件以不跳过额外的测试执行。日志中的相关部分是here,完整日志here

我很想知道为什么还会跳过额外的执行。

【问题讨论】:

    标签: maven sonarqube surefire


    【解决方案1】:

    SonarQube 的目标不是运行您的单元测试,尤其是在配置不标准的情况下。供您参考,我们的长期目标是删除此类功能并仅允许一种模式:reuseReports。

    因此,您应该先运行单元测试,然后在运行 SonarQube 分析时重复使用这些生成的报告。见http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project#CodeCoveragebyUnitTestsforJavaProject-ReusingExistingReports

    【讨论】:

    • 一个原因 - 如果不是 原因 - 使用 Sonar 不必在一个 pom 中配置大量插件。运行单个测试执行和运行多个测试执行之间没有逻辑上的区别。 reference documentation 将嵌入模式声明为有效对象,所以我想了解为什么此模式不运行测试阶段而是单次执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2015-06-08
    • 2021-06-12
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多