Android测试环境配置
测试是软件开发中非常重要的一部分,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官网
查看相应的使用说明。
Android测试环境配置的更多相关文章
- Android开发环境配置(win7_64bit)
Android开发环境配置(win7_64bit) 目录 1.概述 2.Android开发涉及的技术 3.Android常用开发环境搭建 4.注意事项 >>看不清的图片可在新标签打开查看大 ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
- Android测试环境搭建
Android测试环境搭建 一.操作系统 使用Win7_64位操作系统.(可以用其他的系统,下面都是针对Win7 64位进行操作) 二.安装JDK 运行jdk-6u45-windows-x64.exe ...
- windows下JDK环境配置与Android SDK环境配置
一.JDK环境配置1.配置变量名:JAVA_HOME变量值:jdk安装的绝对路径. 变量名:Path(在系统变量中找到并选中Path点击下面的编辑按钮,不要删除原本变量值中的任何一个字母,在这个变量值 ...
- android开发环境配置以及测试所遇到的的问题
今天我没有继续进行,整理了一线之前犯下的错误.在一开始的android的环境配置的时候,按照网上的教程,我还是走了许多弯道,其中遇到了不少的问题,但是现在都一一解决了. 配置时安装东西少 在配置的时候 ...
- 基于Netbeans的安卓Android开发环境配置 - CSDN博客
原文:基于Netbeans的安卓Android开发环境配置 - CSDN博客 基于Netbeans的安卓Android开发环境配置 一.准备工作 NetBeans 勾选网页中的Accept-选择对应系 ...
- Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...
- Nginx 测试环境配置,留作笔记使用
Nginx 测试环境配置,留做笔记 以下全是配置文件的配置,如果有疑问还请移步Nginx官网参考官方文档. 环境: [root@CentOS6-M01 conf]# cat /etc/redhat-r ...
- Centos Android开发环境配置-Android Tools -android list sdk --extended --all
Centos Android开发环境配置-Android Tools -android list sdk --extended --all 安装完Android Tools后执行 android ...
随机推荐
- 通过Callable接口创建线程
通过Callable接口创建线程 一.前言 Java中创建线程的方式有四中,前两种在前面我已经详细介绍过了(Runnable和Thread),不清楚的朋友们可看这里: Java多线程之线程的启动以及J ...
- python request接口测试笔记(1)
python request接口测试笔记(1) 涉及到的功能说明: 需要登录拿到token,才能进行下一个接口的请求 读取csv文件中的信息,作为接口的参数 将接口响应结果,写入csv文件,以便分析统 ...
- Leetcode之二分法专题-367. 有效的完全平方数(Valid Perfect Square)
Leetcode之二分法专题-367. 有效的完全平方数(Valid Perfect Square) 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 ...
- 在 react 项目里如何配合immutable在redux中使用
一.reducer文件的处理 先安装 immutable 与 redux-immutable yarn add immutable redux-immutable 我们可能会在很多地方定义子树,这就需 ...
- Git 上传本地项目到Github
前提: 安装Git 注册并拥有Github账号 目录: 初始化本地目录位Git仓库 Github上创建仓库 本地生成SSH key,并添加到Github上 本地项目管理Github上远程项目 详细步骤 ...
- Super和This总结
this: this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. Java关键字this只能用于方法体内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自 ...
- JMeter特点&性能测试工具选型的原则&模拟压力的原理
1.JMeter自身的特点 1)开源.轻量级.更适合自动化和持续集成(100M左右,LoadRunner 4G左右) 2)学习难度大 3)资料少.全英文 2. 性能测试工具选型的原则 1)成本 a.工 ...
- 洛谷P1582 倒水 二进制 lowbit __builtin_popcount
P1582 倒水:https://www.luogu.org/problemnew/show/P1582 题意: 给定n瓶装有1升的水瓶,每次可以把两瓶装水量相同的水和成一瓶,问最少还要增加几瓶装有1 ...
- ZOJ-3964 Yet Another Game of Stones
Yet Another Game of Stones 题意: Alice 和 Bob 在进行取石子游戏, 现在一共有n堆石子, 每堆石头有ai个, 然后每堆石头有一个bi属性, 如果bi == 0, ...
- poj 2117 Electricity(tarjan求割点删掉之后的连通块数)
题目链接:http://poj.org/problem?id=2117 题意:求删除一个点后,图中最多有多少个连通块. 题解:就是找一下割点,根节点的割点删掉后增加son-1(son为子树个数),非根 ...