【问题标题】:Jacoco plugin does not report coverage for renamed integration test classJacoco 插件不报告重命名的集成测试类的覆盖率
【发布时间】:2019-02-18 23:14:09
【问题描述】:

让我向您展示以下用例的问题:

假设我有 Example 类,并希望为此使用单元和集成测试。 一旦文件ExampleTest(使用@Test注释的方法)中的单元测试完成,覆盖率报告将显示正确的结果。 一旦文件ExampleTestInt(使用@Test注释的方法)中的集成测试完成,覆盖率报告不会显示正确的结果。就好像该类被排除在覆盖过程之外一样。

这意味着如果我只是对 Example 类进行了集成测试,那么我无法看到 jacoco 覆盖的正确结果。

有没有办法让ExampleTestInt 类的覆盖率与单元测试类似?我想保持原来的名字。

【问题讨论】:

    标签: java spring testing integration code-coverage


    【解决方案1】:

    您可以像这样配置自定义排除:

    <configuration>
      <excludes>
          <exclude>**/*Config.*</exclude>
          <exclude>**/*Dev.*</exclude>
      </excludes>
    </configuration>
    

    请查看 jacoco 文档:https://www.eclemma.org/jacoco/trunk/doc/report-mojo.html

    【讨论】:

    • 我不需要排除任何东西。我想要做的是包含由 jacoo 插件执行的 ExampleIntTest 类,就像在 ExampleTest 的情况下一样。但这不会发生。好像 jacoco 找不到它并理解它属于 Example 类。
    • 如果您不想排除任何内容,请将排除列表留空,我认为这很清楚,抱歉。
    • 没问题,我已经找到了解决方案。我会在下面发布。
    【解决方案2】:

    我发现根本问题在于用于集成测试的文件名错误。

    根据我的观察,jacoco 覆盖插件正在寻找后缀为 Test 的文件,因此插件无法看到文件 ExampleTestInt

    【讨论】:

    猜你喜欢
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多