这两天看了一下统计 Android 单元测试代码覆盖率的知识,看了一下比较简单。
代码覆盖率的作用主要是用来查看测试用例执行完毕后,有哪些代码尚未覆盖到,未覆盖到的代码通常意味着未覆盖到的功能或场景,选用的开源软件 Emma。
第一步:把被测工程生成 Ant build 文件,andriod-app 就是工程名
android update project -p android-app
第二步:将 andriod 测试工程也转换成 ant 工程,-m 选项指定了测试工程对应的主 andriod 工程的位置,而 android-test 就是测试工程名:
android update test-project -m ../android-app -p android-test
第三步:执行下面的命令,编译、执行单元测试、收集覆盖率:
ant clean emma debug install test
在 jenkins 上部署:

  1. 下载 Emma Line Coverage Column 插件并安装。
  2. 在 jenkins 上配置上边三步命令。如图:
  3. 构建完成后,配置使用插件展示出报告,如图:
  4. 展示结果如图: 备注:
  5. 被测试工程的要是调试版本,即 Android manifest 里面 android:debuggable="true"
  6. 手机要有 root 权限。


↙↙↙阅读原文可查看相关链接,并与作者交流