单元测试的重要性不用多说, 那该如何用Android Studio进行单元测。
public class Calculator{
public int add(int a,int b){
return a + b;
}
}
在创建项目时,AS已经为我们自动创建了一个AndroidTest的包,打开ApplicationTest,添加测试方法:
public void testAdd() throws Exception{
Calculator service = new Calculator();
int result = service.add(1,2);
assertEquals(3,result);
}
注:方法名必须以test开头,否则测试框架会不能找到方法。 而且一定记得把异常抛出,这样测试框架才能进行捕获
我们也可以自己创建测试文件包和测试类。
import android.test.InstrumentationTestCase;
import com.gwk.aunittest.Calculator;
/**
* Created by gwk_87 on 2016/1/25.
*/
public class MyTest extends InstrumentationTestCase {
public void testAdd() {
Calculator service = new Calculator();
int result = service.add(1, 1);
assertEquals(2, result);
}
}
我们自己写的类一定要继承InstrumentationTestCase,这样才能被添加到测试框架中。
在要测试的方法处,右单击,按如下选项操作:
注:如果没有create方法,需要在Build Variants中把测试工件改为:Android Instrumentation Tests
在弹出的选项卡中分别找到测试类和测试方法,然后提交
打开配置对话框,选择Android Test,进行如下设置: 右侧Module选择你的工程名,这里是app Test: Method
Run'testAdd()'
可以在控制台看到测试成功的绿条了:
我们把测试方法中的断言改一下,产生错误运行结果:
public void testAdd(){
Calculator service = new Calculator();
int result = service.add(1,2);
assertEquals(4,result);
}
测试框架提示我们:期望的是4,可是运行结果是3