我有一个 Android 项目,我正在使用 Ant 和 EMMA 正确生成测试覆盖率报告(我按照此处的说明进行操作:https ://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app +和+测试+项目)
我想知道的是如何过滤出现在 EMMA 生成的报告中的文件(例如,R 生成的类、已经测试过的库中的文件......)。
我在自己的 build.xml 文件中包含了 ${sdk.dir}/tools/ant/test_rules.xml 和 ${sdk.dir}/tools/ant/main_rules.xml 并尝试更改“-emma-仪器”目标看起来像这样:
<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>
我还尝试应用此处指定的 EMMA 覆盖过滤器的另一种变体http://emma.sourceforge.net/reference_single/reference.html#instrset.filters,但这也不起作用,R 生成的文件仍然出现在覆盖范围内报告。
有谁知道如何解决这个问题?