Android单元测试/Ui测试+JaCoCo覆盖率统计
背景说明
单元测试
从源代码着手,对源码中的最小可测试单元进行检查和验证,在对源代码有较深的理解下,编写测试单元,工作量大,不管从编写单元测试用例再到用例的维护上,成本都会比较高,但是通过这种方式可靠性很强。UI测试
从UI层面着手,对UI操作进行检查和验证,可以不需要对代码有深层次的了解,成本相对较低,工作量相对也低一些,但是可靠性相比之下会弱一点。覆盖率的统计
我们有了多种测试方式,那么问题来了,这些测试的性能怎么样,是不是所有的代码都被测试过了?这时候就需要加入覆盖率的统计了,如果一个工程的待测数量为M,测试用例的数量为N,那么代码覆盖率F则为:
F=N/M
本文将介绍一个代码覆盖率的工具JaCoCo,通过这个工具,我们可以知道哪些方法被测试了,哪些方法没有被测试到。
1. 先新建一个Android工程,大致的内容是有一个MainActivity,输入两个数,可以计算出二者相加、相乘的结果,并通过toast显示出计算结果。
- app界面如下:
- 源代码
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingR