您的位置:首页 > 移动开发 > Android开发

Android测试环境配置

2016-01-19 10:46 417 查看
测试是软件开发中非常重要的一部分,Android中是使用
junit
测试框架,本文使用的是
junit4
Android Studio
。Android测试主要分两类本地测试和Instrumented测试,本地测试其实就是普通的Java程序测试,它运行在本地的JVM。Instrumented测试则需要一台Android设备来运行测试。

环境配置

本地测试与Instrumented测试在测试之前都需要配置测试环境以下是两种测试配置的步骤(Android Studio默认是Instrumented测试):

添加测试依赖

切换Build Variant

建立测试源文件

添加依赖

注意Android Studio引入测试依赖包含两个关键字分别是testCompile和androidTestCompile。testCompile是声明本地测试的依赖,androidTestCompile是声明Instrumented测试依赖。

使用testCompile添加依赖:

testCompile 'junit:junit:4.12'

使用androidTestCompile添加依赖

androidTestCompile 'junit:junit:4.12'

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
testCompile 'junit:junit:4.12'
androidTestCompile 'junit:junit:4.12'
}

运行Instrumented测试时还需要在
build.gradle
中添加:

android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}

切换Build Variant

Android Studio默认的Build Variant是
Android Instrumentation Tests




建立测试源文件

Instrumented测试文件目录结构:

src

androidTest

本地测试源文件目录结构:

src

test



可以看到上图的src/test目录下的源文件是错误的这是因为现在我的Build Variant的Test ArtifactId是Android Instrumentation Tests切换到Unit Tests就可以了。

编写测试

现在编写一个简单本地测试,假设目录src/main/java/com/lw/busyness/中现在有一个CalculateService类内容如下:

public class CalculateService {

public int add(int a, int b){
return a + b;
}

public int sub(int a, int b){
return a -b;
}

public int mul(int a, int b){
return a * b;
}

public int div(int a, int b){
return a * b;
}
}

新建测试源文件src/test/java/com/lw/busyness/TestCalculateService.java

public class TestCalculateService {

private static CalculateService mCalculator;

@BeforeClass
public static void init(){
mCalculator = new CalculateService();
}

@Test
public void testAdd(){
int r = mCalculator.add(1, 2);
Assert.assertEquals(3, r);
}

@Test
public void testSub(){
int r = mCalculator.sub(1, 2);
Assert.assertEquals(-1, r);
}

@Test
public void testMul(){
int r = mCalculator.mul(1, 2);
Assert.assertEquals(2, r);
}

@Test
public void testDiv(){
int r = mCalculator.div(1, 2);
Assert.assertEquals(0, r);
}

@AfterClass
public static void terminate(){
mCalculator = null;
}
}

最后运行这个测试,在TestCalculateService类上右击选择
Run  TestCalculateService
可以看到测试全部通过。



总结

这篇章主要介绍了Android的两种测试方法和各自的配置。关于如何去分别编写这两种测试讲的不多,可以去
junit官网
查看相应的使用说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: