【发布时间】:2011-10-25 09:44:43
【问题描述】:
我有一个 Android 项目,并且正在使用 Ant 和 EMMA 正确生成测试覆盖率报告(我按照此处的说明进行操作:https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project)
我想知道的是如何过滤出现在 EMMA 生成的报告中的文件(例如,R 生成的类、已经测试过的库中的文件...) .
我将 ${sdk.dir}/tools/ant/test_rules.xml 和 ${sdk.dir}/tools/ant/main_rules.xml 都包含在我自己的 build.xml 文件中,并在那里我尝试更改“ -emma-instrument" 目标看起来像这样:
<target name="-emma-instrument" depends="compile">
<echo>Instrumenting classes from ${out.absolute.dir}/classes...</echo>
<!-- It only instruments class files, not any external libs -->
<emma enabled="true">
<instr verbosity="${verbosity}"
mode="overwrite"
instrpath="${out.absolute.dir}/classes"
outdir="${out.absolute.dir}/classes">
<filter excludes="*R*" />
</instr>
<!-- TODO: exclusion filters on R*.class and allowing custom exclusion from
user defined file -->
</emma>
</target>
我还尝试应用此处http://emma.sourceforge.net/reference_single/reference.html#instrset.filters 指定的 EMMA 覆盖过滤器的另一种变体,但这也不起作用,R 生成的文件仍然出现在覆盖报告中。
有人知道怎么解决吗?
【问题讨论】:
标签: android ant code-coverage emma