Jacoco 插件不报告重命名集成测试的覆盖率 class
Jacoco plugin does not report coverage for renamed integration test class
让我向您展示以下用例的问题:
让我们假设我有 class Example
并且想为此使用单元和集成测试。
完成文件 ExampleTest
中的单元测试(使用 @Test
注释的方法)后,覆盖率报告会显示正确的结果。
完成文件 ExampleTestInt
中的集成测试(使用 @Test
注释的方法)后,覆盖率报告不会显示正确的结果。好像 class 被排除在覆盖过程之外。
这意味着如果我只有 Example
class 的集成测试,那么我无法在 jacoco 的覆盖率中看到正确的结果。
有没有什么方法可以使 ExampleTestInt
class 像单元测试一样被覆盖?我想保留相同的名字。
您可以像这样配置自定义排除:
<configuration>
<excludes>
<exclude>**/*Config.*</exclude>
<exclude>**/*Dev.*</exclude>
</excludes>
</configuration>
请查看 jacoco 文档:https://www.eclemma.org/jacoco/trunk/doc/report-mojo.html
我发现根本问题在于用于集成测试的文件名错误。
根据我的观察,jacoco 覆盖插件正在寻找后缀为 Test
的文件,因此插件无法看到文件 ExampleTestInt
。
让我向您展示以下用例的问题:
让我们假设我有 class Example
并且想为此使用单元和集成测试。
完成文件 ExampleTest
中的单元测试(使用 @Test
注释的方法)后,覆盖率报告会显示正确的结果。
完成文件 ExampleTestInt
中的集成测试(使用 @Test
注释的方法)后,覆盖率报告不会显示正确的结果。好像 class 被排除在覆盖过程之外。
这意味着如果我只有 Example
class 的集成测试,那么我无法在 jacoco 的覆盖率中看到正确的结果。
有没有什么方法可以使 ExampleTestInt
class 像单元测试一样被覆盖?我想保留相同的名字。
您可以像这样配置自定义排除:
<configuration>
<excludes>
<exclude>**/*Config.*</exclude>
<exclude>**/*Dev.*</exclude>
</excludes>
</configuration>
请查看 jacoco 文档:https://www.eclemma.org/jacoco/trunk/doc/report-mojo.html
我发现根本问题在于用于集成测试的文件名错误。
根据我的观察,jacoco 覆盖插件正在寻找后缀为 Test
的文件,因此插件无法看到文件 ExampleTestInt
。