一尘不染

使用Cobertura从代码覆盖率中排除方法

java

有没有一种方法可以将代码排除在Cobertura覆盖率报告之外?我们提供了一些不应包含在覆盖率报告中的方法,因此不会降低覆盖率。

我知道四叶草具有这样的功能,但是我还没有为Cobertura找到任何类似的东西。


阅读 297

收藏
2020-09-09

共1个答案

一尘不染

您可以从检测中排除类。然后它们不应出现在报告中。请参阅下面的 排除 语句。

您也可以忽略对某些方法的调用。请参阅下面的 ignore 语句。

如果您使用的是maven,请参阅《maven插件手册》

    <configuration>
      <instrumentation>
        <ignores>
          <ignore>com.example.boringcode.*</ignore>
        </ignores>
        <excludes>
          <exclude>com/example/dullcode/**/*.class</exclude>
          <exclude>com/example/**/*Test.class</exclude>
        </excludes>
      </instrumentation>
    </configuration>

对于蚂蚁来说就是这样

<cobertura-instrument todir="${instrumented.dir}">
  <ignore regex="org.apache.log4j.*" />
  <fileset dir="${classes.dir}">
    <include name="**/*.class" />
    <exclude name="**/*Test.class" />
  </fileset>
  <fileset dir="${jars.dir}">
    <include name="my-simple-plugin.jar" />
  </fileset>
</cobertura-instrument>
2020-09-09