Android自动化测试代码覆盖率统计

折腾了小半天,最后其实很简单

使用Android自带的ApiDemos作为例子

测试环境:windows

1. 进入到ApiDemos目录下

cd <Android SDK>\samples\android-15\ApiDemos


2. 更新build.xml

android update project -p ./ --target android-15

cd tests

android update test-project -m <Android SDK>\samples\android-15\ApiDemos -p ./

windows下,对于被测项目,必须使用绝对路径,bug~~~


3. 运行测试及获得统计结果

ant clean emma debug install test

注意:一定要使用clean,不然各种问题,总之就是无法获得emma的结果




你会发现有三种颜色,绿色,红色和黄色,它们分别表示该行:被测试到,未被测试到,以及部分被测试到。红色或黄色的部分是需要引起你注意的,bug 也许就隐藏在这部分代码中,你所需做的就是设计一些测试用例,使它们运行以前未被执行到的语句。你需要相应的增加一些测试用例。运行新加的测试用例,你也许会发现一些新的 bug,并修正这些 bug。


EMMA 的功能是有限的,它不支持决策覆盖和路径覆盖。

if (number.equals("") || null == number) {

//若传进的number 为 null 的话,并不是如我们所愿,得到 IllegalArgumentException,而是抛出了 NullPointerException。

//这点Emma并不能帮你检测到

//正确应该使用如下代码
if (null == number || "".equals(number)) {


个人感觉作用不大,只能在做完单元和自动化功能测试之后检测一下还有多少代码未被覆盖,但实际上未被覆盖的代码的使用率也是低的可以忽略的了。

参考文章

http://blog.csdn.net/peace_power/article/details/9203769

http://www.ibm.com/developerworks/cn/java/j-lo-emma/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值