本文介绍了如何从 Emma 中删除/过滤/忽略某些包(代码覆盖率)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我的报告中删除一些包但遇到了问题.

I`m trying to remove some package from my report and having trouble.

有人能给我一些帮助吗?

Could some one give me some help?

我在我的 ant 过程中使用 EMMA.

I'm using EMMA in my ant process.

<!-- 生成 xml 和 html 的 emma 报告 -->
<艾玛>
  <报告
    sourcepath="${build.report.src}"
    metrics="class:${coverage.classes.min},method:${coverage.methods.min}">   <fileset dir="${build.report.junit.data.dir}">
     <include name="*.emma"/>
    </文件集>
   <html outfile="${build.report.reports}/emma/raw.html" depth="method"/>
   <xml outfile="${build.report.tmp}/emma.xml" depth="method"/>
  </报告>
</艾玛>

我尝试使用:
<filter excludes="com.my.package.*"/>

但是没有成功:(

推荐答案

Emma 允许在检测阶段使用过滤器来指定一组需要检测的文件.相比之下,您正在报告生成阶段尝试执行此操作.上面给出的链接描述了如何定义检测集.

Emma allows the use of filters at instrumentation phase to specify a set of files that need to be instrumented. In contrast you are trying to do this at report generation phase. The link given above describes how to define the instrumentation set.

我使用过这样的过滤器:

I've used filters like this:

<property name="emma.filter" value="-*.unittest.* -*.unittests.* -*.TST* -*TestCase -*Test -*TestSuite" />

<emma>
    <instr instrpath="${build.dir}"
        mode="overwrite"
        metadatafile="${build.dir}/coverage.em"
        filter="${emma.filter}" />
</emma>

您也可以使用嵌套的 <filter>

You can also use nested <filter> elements under <instr>

这篇关于如何从 Emma 中删除/过滤/忽略某些包(代码覆盖率)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 15:50