为什么不讲Eclipse的Junit测试(Eclipse?你说的是被谷歌扔掉的那个?)
孔圣子说:不暴躁的程序员不是好工程师。
直接上图:
首先:只需要导入外部依赖(仅此而已,不需要其他社么xml配置什么的。AndroidStudio 2.1.1版本)
创建一个需要测试的java类(注意:类中最好不要使用log输出)
public class TestAc {
public void show(){
int a = 11;
int b = 12;
System.out.print("a+b=" + (a+b));
}
}
1. 如图操作:通过上面的java文件创建测试类(注意:方法最好是public)
(注意:如果方法是private 在下面会找不到此方法)**
选择第二个,生成测试文件
public class TestAcTest {
@Test
public void testShow() throws Exception {
}
}
在TestAcTest中填写测试逻辑,调用测试的方法
public class TestAcTest {
@Test
public void testShow() throws Exception {
TestAc testAc = new TestAc();
testAc.show();
}
}
测试运行
有时候会遇到这个问题,以上所有配置都配置好好的,但是就是一运行就报错:(而且还缺少一个弹窗)
junit.framework.AssertionFailedError: No tests found in jh.zyqj.zz.jianghu.Testadsfa
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:198)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:183)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:560)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1932)
Tests ran to completion.
这个时候 ,将build.gradle 中的compile 'junit:junit:4.12'
修改为testCompile 'junit:junit:4.12'
即可
还有,使用的是junit:junit:4.12
junit4包
——————-Ver20170816—————
如果你是复制jar包到项目中,如果仅仅导入了junit-4.12.jar可能会报错:
java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing
Caused by: java.lang.ClassNotFoundException:org.hamcrest.SelfDescribing
是因为你还缺少一个jar包:hamcrest-core-1.3.jar
把这个包也导进去就可以了