青杨

若心向阳光,则无畏黑暗!

Android Studio 单元测试 Junit

一:新建一个项目一般依赖配置都已经加好了(如下图)

Android Studio 单元测试 Junit - Fate.不懂 - Fate.不懂

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

Android Studio 单元测试 Junit - Fate.不懂 - Fate.不懂

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'

二:在src文件夹下创建test目录 (原因这个目录创建的测试不用手机和模拟器就可以直接运行)

三: 在要测试的类名上右键单击--选择goto--选择Test --- 直接看图

Android Studio 单元测试 Junit - Fate.不懂 - Fate.不懂

  这样就会自动创建测试类了;

在类中写方法完成你的测试

四:下边介绍断言的方法和注解

1.断言的方法Assert(具体参数看下方法内的提示就知道了)

assertNull(java.lang.Object object)     检查对象是否为空

assertNotNull(java.lang.Object object) 检查对象是否不为空

assertEquals(long expected, long actual) 检查long类型的值是否相等

assertEquals(double expected, double actual, double delta)检查指定精度的double值是否相等

assertFalse(boolean condition) 检查条件是否为假

assertTrue(boolean condition) 检查条件是否为真

assertSame(java.lang.Object expected, java.lang.Object actual)检查两个对象引用是否引用同一对象(即对象是否相等)

assertNotSame(java.lang.Object unexpected, java.lang.Object actual)检查两个对象引用是否不引用统一对象(即对象不等)


用法实例:

Android Studio 单元测试 Junit - Fate.不懂 - Fate.不懂

 很简单,利用@Before注解在测试前做创建对象,初始化的操作,

@Test注解表示测试的方法


2.注解的解释:

@Before 

在每个测试用例创建之前调用,进行初始化操作(注解 public void 方法)

@BeforeClass

在创建所有测试用例之前调用,一次运行只调用一次(注解 public static void 方法)

@After

在每个测试用例完成之后调用,用来做一些善后处理,和@Before是对应的,每个测试用例之后都会调用

@AfterClass

在所有测试用例完成之后调用,一次运行只调用一次,和@BeforeClass是对应的,也是最释放资源之类的操作

@Test

表示该方法作为一个测试方法执行,每个方法都会作为一个测试用例来执行(每个@Test调用之前都会调用@Before)

可选的两个参数:expected 定义该方法会抛出的异常,只有方法抛出该异常,才表示成功(true);

    timeout   指定该方法执行的事件,只有该方法在这个时间内完成才表示成功(true);

@Ignore

用于忽略测试方法或者测试类,表示该方法或者类在测试中会被忽略(结果会显示忽略的数量)!


最后还有两个:

@RunWith就是一个运行器(指定其它的单元测试执行类,来执行本次测试)

@RunWith(JUnit4.class)就是指用JUnit4来运行

@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境


@RunWith(Suite.class)的话就是一套测试集合

@SuiteClasses({TestClass1.class,TestClass2.class....}) 表示执行这些测试类(打包测试,把写好的都测试一遍)

最后两个有疑惑的话可以去这个网址看看:

https://my.oschina.net/pangyangyang/blog/144495

评论