AndroidStudio Junit测试

来源:互联网 发布:执行云计算的服务器 编辑:程序博客网 时间:2024/04/30 11:14

为什么不讲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.Testadsfaat 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
把这个包也导进去就可以了

0 0