Android Studio 单元测试

新建项目工程

File -> new -> New Moudle

在创建项目的时候,有时会报创建错误或其它原因导致的创建后的项目不可用。这是由于Android Studio编译环境造成的,可以删除重建。

新建的项目不需要配置默认支持Junit3 Style测试

一、Junit3 style

测试Application

在新建项目的同时,Android Studio或者测试包下创建一个默认测试文件:

ApplicationTest.java

1
2
3
4
5
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

可以直接右键运行,OK!!

测试Activity

建立一个测试MainActivity的测试类:

MainActivityTestJunit3.java

1
2
3
4
5
6
7
8
9
public class MainActivityTestJunit3 extends ActivityInstrumentationTestCase2<MainActivity> {
public MainActivityTestJunit3() {
super(MainActivity.class);
}

public void testGetActivity() {
assertNotNull(getActivity());
}
}

右键运行,OK!

测试Service
测试ContentProvider

后续补充….

二、Junit4 style

配置Junit4测试环境:主要配置testInstrumentationRunner属性,如下:

build.gradle

1
2
3
4
5
6
7
8
defaultConfig {
applicationId "com.demo.myapp"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
测试Activity

新建测试类

MainActivityTestJunit4.java

1
2
3
4
5
6
7
8
9
@RunWith(AndroidJUnit4.class)
public class MainActivityTestJunit4 {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void getName() {
Log.d("TT", mActivityRule.getActivity().getLocalClassName());
}
}

引入相关依赖包,编译。右键运行:OK!

测试Application
测试Service
测试ContentProvider