这两天看了一下统计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. 展示结果如图:

  备注:
  1. 被测试工程的要是调试版本,即Android manifest里面android:debuggable="true"
  2. 手机要有root权限。