使用 ant 为库项目构建 Android 测试时,如何为 emma 使用过滤器? [英] How can I use filter for emma when building Android test with ant for a library project?

查看:26
本文介绍了使用 ant 为库项目构建 Android 测试时,如何为 emma 使用过滤器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

来自这个问题:

我该怎么做使用 ant 构建 Android 测试时使用 emma 过滤器?

我知道 emma 可以通过将以下几行添加到目标项目(而不是测试项目)的 ant.properties 中来使用过滤器,

I know emma can use a filter by adding the following lines to my ant.properties of the targeted project, not the test project,

emma.filter=-com.your.excluded.package.*

但如果我的目标项目是图书馆项目,它似乎无法正常工作.

but it seems it doesn't work properly if my target project is a library project.

我的工作区如下所示:

projectlib1         : lib project using lib2
projectlib1/tests   : unit tests for lib1
projectlib2         : lib project using lib3
projectlib2/tests   : unit tests for lib2
projectlib3         : stand alone lib

当我运行 lib1 的覆盖率时,我也得到了我不想要的 lib2 和 lib3 的覆盖率文件.我应该在哪里添加 emma.filter?我尝试将它放在每个项目的根目录中,但到目前为止还没有奏效.

When I run coverage for lib1 I also get coverage files for lib2 and lib3 which I do not want. Where should I add the emma.filter? I tried putting it at the root of each of those projects but it did not work so far.

欢迎提出任何建议!谢谢

any suggestion welcome! thank you

推荐答案

刚遇到同样的问题,我尝试了您提到的线程的解决方案,但没有奏效.我也试过直接在build.xml文件中添加,也没用.

Just had the same problem, I tried the solution of the thread you mention and I did not work. I also tried to add it directly in the build.xml file, did not work either.

虽然我设法通过在 ant 命令行上添加 -Demma.filter="-your.app.package" 使其工作:

Although I managed to make it work by adding the -Demma.filter="-your.app.package" on the ant command line:

ant -Demma.filter="-your.app.package.to.exclude.*" emma debug install test

这篇关于使用 ant 为库项目构建 Android 测试时,如何为 emma 使用过滤器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆