Android单元测试读写文件,Android-单元测试
Android的单元测试有两种方式:本地单元测试和设备单元测试,本地单元测试可以直接运行在本地机器上面的Java Virtual Machine(JVM)。它的特点是运行时间短,执行效率高,但是没有Android framework的支持,每个文件都可以进行单独的单元测试。
而在Android设备上的单元测试,运行的是一个单独的APK,直接运行到虚拟机或者物理Android设备上,这种单元测试拥有整个App的生命周期和运行环境。
这里主要介绍以运行在Android设备上的单元测试为主。
单元测试文件在哪里?
首先先看下单元测试文件是什么位置,下面是一个Android项目的基本结构:
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文件夹上面,可以看到运行单元测试的按钮,如图所示:
Run all tests
直接点击Run all tests,可以看到单元测试的结果:
测试结果
这样就完成了一个简单的单元测试。
Android单元测试读写文件,Android-单元测试相关推荐
- Android单元测试读写文件,Android Studio单元测试:读取数据(输入)文件
根据android-gradle-plugin版本: 1.版本1.5和更高版本: 只需把json文件到src / test / resources / test.json并引用它 classLoade ...
- android otg读写文件,Android USB Host在USB设备OTG中读/写文件
我正在编写Android设备是主机的应用程序.用户将USB驱动器连接到Android设备,我的应用程序将在USB驱动器中写入一些文本文件.文本文件的路径就像USB_DRIVE/Data/APP_NAM ...
- Android单元测试读写文件,如何在Android单元测试中读取仅测试文件
对于我的Android应用程序,我正在编写需要读取一些文件的单元测试. 由于这些是仅测试文件,因此我不希望它们出现在res文件夹中,因为我不希望它们最终出现在最终的.apk文件中. 我想做与此问题类似 ...
- Android sdcard读写文件(二)
继续说sdcard读写文件的情况,这篇博客说的是在sdcard根目录中读写文件,着重的而是多种方式的读写文件.直接给出代码: FileService.java package com.llp.clas ...
- android 根目录 写文件,android 读写文件、列出根目录文件及新版本权限
想列出android 内部存储根目录(内部存储也是sd卡形式) File path =Environment.getExternalStorageDirectory(); File[] files=p ...
- Android中读写文件的N种方法
在android或者java中读写文件时,我们常常面临不知道该用哪种方法来实现,今天我们一起来总结一下N种读写文件的方法. 一.文件输入输出流读写文件 public void writeFileStr ...
- Android的读写文件权限
/**测试没通过* 写文件* @param str*/public void write(String str){File file = new File(Environment.getExterna ...
- Android 10 读写文件权限
权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> < ...
- android 生成aar文件,Android 中.aar文件生成方法与用法
https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...
最新文章
- Java爬取解析去哪儿景点信息
- 在VC中实现模拟键盘,输入内容并显示在ListBox中。
- 【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )
- 3.5 向量化实现的解释-深度学习-Stanford吴恩达教授
- 杨超越微数据_资料来源同意:数据科学技能超越数据
- NC14250 MMSet2
- iOS 对arc的一点深入理解
- mysql多个外键删除设置_Mysql在删除集上使用多个外键创建表
- thinkphp group count连用
- DB2报错原因汇总(sqlcode sqlstate)
- python从网页提取文本_使用Python进行网页正文提取
- 【读书笔记】计算广告(第3部分)
- wince 百度地图懒人包_百度导航车载wince版|百度地图winCE版 V10.9.2 安卓版 下载_当下软件园_软件下载...
- 攻防世界逆向高手题之reverse-for-the-holy-grail-350
- MIT 6.S965 韩松课程 05
- python绘制函数曲线
- NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作
- PowerDesigner画ER图详细教程
- (附源码)springboot学生社团管理系统 毕业设计 151109
- 类名.class 类名.this 详解