gpt4 book ai didi

java - 如何为少数测试类而不是所有测试类运行 cobertura 代码覆盖率?

转载 作者:行者123 更新时间:2023-12-01 12:52:35 26 4
gpt4 key购买 nike

我在 eclipse 中使用 Cobertura 为我的 java maven 项目生成代码覆盖率,它工作得很好。我有大约 15 个测试类(class)。每当我运行 maven build 时,它都会生成所有这 15 个类的代码覆盖率。

有什么办法,我可以为我的几个测试类而不是所有测试类运行 cobertura 代码覆盖率报告?我还有 AllTests,其中我只提到了几个测试类,但我猜 cobertura 不使用 AllTests

最佳答案

如果您使用 Maven Cobertura 插件,则可以使用两个单独的标签指定过滤:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${cobertura.version}</version>
<configuration>
<instrumentation>
<ignores>
<ignore>org.apache.log4j.*</ignore>
...
</ignores>
<excludes>
<exclude>**/package1/package2/**/*.class</exclude>
...
</excludes>
</instrumentation>
</configuration>
</plugin>

<ignores>告诉 Cobertura 排除对指定包/类的所有调用。上面的示例将忽略 log4j 日志记录调用的所有行。

<excludes>告诉 Cobertura 不要检测某些文件。在测试运行期间不会记录对这些类的点击。这里**表示递归搜索(当前以下任何深度的任何目录)。因此该示例指出:排除任何具有 package1.package2 的类将其封装在其完全限定名称中的任何位置。

您还有一个<includes>指定类的白名单而不是 <excludes> .

其他详细信息可以在这里找到:Mojo's Maven plugin for Cobertura - Usage

关于java - 如何为少数测试类而不是所有测试类运行 cobertura 代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24110634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com