Android单元测试读写文件,Android-单元测试

Android的单元测试有两种方式:本地单元测试和设备单元测试,本地单元测试可以直接运行在本地机器上面的Java Virtual Machine(JVM)。它的特点是运行时间短,执行效率高,但是没有Android framework的支持,每个文件都可以进行单独的单元测试。

而在Android设备上的单元测试,运行的是一个单独的APK,直接运行到虚拟机或者物理Android设备上,这种单元测试拥有整个App的生命周期和运行环境。

这里主要介绍以运行在Android设备上的单元测试为主。

单元测试文件在哪里?

首先先看下单元测试文件是什么位置,下面是一个Android项目的基本结构:

10079c39cf1c

Android项目结构

其中:

../app/src/test/java目录下是本地单元测试的文件目录。

../app/src/androidTest/java目录下就是设备单元测试的文件目录。

知道了单元测试文件的目录,下面就看下如何配置单元测试环境。

配置单元测试环境

需要使用单元测试,需要引入单元测试的依赖库,在AndroidManifest.xml里面添加uses-library:

.....

然后再配置单元测试框架的启动项:

package="com.jjz">

android:targetPackage="com.jjz"

android:label="test"/>

android.test.InstrumentationTestRunner:是Android单元测试其中的一个启动项,用来启动单元测试。

com.android.test.runner.MultiDexTestRunner:是另一个单元测试的启动项用来启动MultiDex的项目。

这里设置了android:targetPackage与项目的package相同,这样当前单元测试和应用程序会运行在同一个进程里面。

环境配置完成之后,就可以编写单元测试的代码了?

编写单元测试

为了使用单元测试方便,先在项目中增加一个方法,该方法用来比较两个字符串的是否相等:

public class StringUtil {

public static boolean compare(String source, String other) {

if (source == null) {

return other == null;

} else {

return source.equals(other);

}

}

}

在对方法compare进行单元测试,在../app/src/androidTest/java/com.jjz添加文件StringUtilTest.java,文件内容为:

public class StringUtilTest extends AndroidTestCase {

public void testCompare() {

Assert.assertFalse(StringUtil.compare(null,"123"));

Assert.assertTrue(StringUtil.compare("123","123"));

}

}

需要注意的是类名必须使用Test结尾,并且要继承AndroidTestCase,而单方法必须使用test开头。

编写完单元测试之后,就可以运行了。

运行单元测试

在../app/androidTest/java文件夹上面,可以看到运行单元测试的按钮,如图所示:

10079c39cf1c

Run all tests

直接点击Run all tests,可以看到单元测试的结果:

10079c39cf1c

测试结果

这样就完成了一个简单的单元测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值