目前google是推荐使用AndroidJUnitRunner来进行单元测试的。
如果想使用InstrumentationTestRunner进行单元测试,推荐下面的一篇文章:
http://blog.csdn.net/zhaokaiqiang1992/article/details/45332513
使用AndroidJUnitRunner进行测试的时候,需要做在build.gradle里面添加如下代码:
defaultConfig {
// ......
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
dependencies {
// ......
androidTestCompile 'com.android.support.test:runner:0.3'
}
junit.framework.AssertionFailedError: No tests found in andriodjunit.robot.com.andriodjunitrunner.CalcTest
而androidTestCompile 'com.android.support.test:runner:0.3'表明的是引用相关的库,当没有添加这个话的时候,我们的External Libraries如图:
加入了之后,如图:
从这里我们可以看到由于添加runner:0.3之后,会自动添加juint库无需我们再添加juint库了。
这些基本工作完成了之后,开始我们的单元测试的代码了。
在src/main/java/xxx相对应的包里面添加文件:
public class Calc {
public int sum(int a, int b) {
return a + b;
}
public int sub(int a, int b) {
return a - b;
}
}
下一步:
生成如下代码:
public class CalcTest {
@Test
public void testSum() throws Exception {
}
@Test
public void testSub() throws Exception {
}
}
然后就是简单的使用JUnit4进行单元测试了,先添加测试的代码:
public class CalcTest {
@Test
public void testSum() throws Exception {
Calc calc = new Calc();
assertEquals(6, calc.sum(2, 4));
}
@Test
public void testSub() throws Exception {
Calc calc = new Calc();
assertEquals(9, calc.sub(2, 4));
}
}
选择CalcTest类,点击右键:
运行结果如图:
这样子就完成了使用AndroidJUnitRunner进行简单的单元测试了,如果需要对界面(Activity)进行单元测试,需要引入espresso了。
这里就不再说明了,具体请参考上一篇文章。