编写和运行测试时Android APP开发周期中的重要的一环。好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信。使用Android Studio,你可以在物理设备或者虚拟机中运行本地单元测试或者仪表测试(instrumented tests)(仪表测试我自己发明的词汇),这样你就可以分析结果,在开发环境中更改你的代码。

本地单元测试是指无需访问Android Framework或者一台Android 设备,直接在你的开发机器中运行的测试。

仪表测试直接运行在你的设备或者虚拟机中。这些测试可以访问设备的信息,比如在测试状态下获取应用的Context。仪表测试可用于单元测试、UI测试或APP组件整合测试(Activity、Service、Content Provider)。

配置本地单元测试

在你的Android Studio项目中,你必须将本地单元测试的源码保存在一个特定的目录(src/test/java)。这可以将你的所有的测试类集中放置到一起。

在你编写代码时,你可以相应的添加相应的本地单元测试类,一般就是在原有类的名称的基础上添加Test。比如:

Src/main/java/Dog.java 相应的测试类 src/test/java/DogTest.java

为了让你的项目使用Junit 4 framework提供的标准的API,你需要配置测试依赖(jar 包)。如果你需要与Android依赖进行交互,需要添加Mockito库来声明你的本地单元测试。

在你的build.gradle(官方说是最顶层的那个,我放进去报错,放在模块中也可以用)中,你需要声明如下依赖:

dependencies {
// 必须的-- JUnit 4 framework
testCompile 'junit:junit:4.12'
// 可选的 -- Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19'
}

配置仪表测试

在你的Android Studio项目中,你必须将仪表测试的源码保存在一个特定的目录(src/androidTest/java)。

为了让你的项目使用Testing Support Library,你需要配置Android测试依赖。

在你的build.gradle中,你需要声明如下依赖:

dependencies {
androidTestCompile 'com.android.support:support-annotations:23.0.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
// 可选的 -- Hamcrest 库
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
// 可选的 – Espresso(UI测试)
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
// 可选的 – Automator(UI测试)
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
}

为了使用Junit 4 测试类,确保在build.gradle文件中生命了默认的AndroidJUnitRunner。

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

测试配置

Android Studio有两种测试配置:Android仪表测试和单元测试。在之前,你只能同一时间内运行一种测试。现在,可以同时运行。

构建和运行测试

Android Studio在开发环境中提供了用于构建、运行和分析你的测试的所有的工具。

需要注意的是,当你运行仪表测试时,Android Studio会关掉Instant Run。

运行本地单元测试

为了运行你的本地单元测试,你需要:

1、 在Project窗口,右键单击,同步你的项目。

2、 在Project窗口,找到相应的测试类,右键单击,选择Run。

Gradle的安卓插件会编译放在(src/test/java)下的源码,生成一个测试app,在本地执行。Android Studio会将结果显示在Run窗口

运行仪表测试

为了运行你的仪表测试,你需要在Project窗口中,找到你的仪表测试的类或方法,右键单击运行。

Gradle的安卓插件会编译放在(src/androidTest/java)下的源码,生成一个测试app和生产apk,并将两个apk安装到已经连接的设备或虚拟机中。并在Run窗口中输出结果。

本文作者:宋志辉

个人微博:点击进入

1、Android测试入门的更多相关文章

  1. Android测试入门学习

    一,Android测试新人练习——安装及文件传输 [课前准备] Android测试环境搭建 1.下载并安装JDK: http://www.oracle.com/technetwork/java/jav ...

  2. Android测试入门篇

    Android本身是一套软件堆叠(Software Stack),或者成为软件叠层架构,叠层主要分成三层:操作系统.中间件和应用程序. Android构架 1. Application 应用程序层:用 ...

  3. Android 测试入门之---Monkey test

    这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...

  4. Android渗透测试Android渗透测试入门教程大学霸

    Android渗透测试Android渗透测试入门教程大学霸 第1章  Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前 ...

  5. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  6. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  7. Hello, Android 快速入门

    Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin ...

  8. 【Android测试】【第九节】MonkeyRunner—— 初识

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4836815.html 不得不说两句,过了这么久才再次更新博 ...

  9. Android实现入门界面布局

    Android实现入门界面布局 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 首先是常量的定义,安卓中固定字符串应该定义在常量中. stri ...

随机推荐

  1. poj3237 树链部分 边权模板

    Tree Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 7384   Accepted: 2001 Description ...

  2. Android Studio创建/打开项目时一直处于Building“project name”Gradle project info的解决办法

    重新安装了Android studio 之后, 启动android studio,打开原来的项目,界面一直停留在: 一直停留在此界面的原因是:Android studio 在下载 Gradle ,但是 ...

  3. C语言第二次作业-----顺序结构

    一:改错题 (1)输出指定信息: 将给定源代码输入编译器: 执行编译命令,发现编译器报错,错误信息如下: 经检查,发现源程序将"stdio.h"误拼为"stido.h&q ...

  4. C语言程序设计第二次作业—————顺序结构改

    1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido.h> int mian() { ...

  5. android高德地图网络路径实现自定义marker并点击弹出自定义窗口

    android中使用地图的地方随处可见,今天记录一下网络路径生成自定义marker,点击标记弹出自定义的窗口(在这里使用的是高德地图) 在这里我们使用Grilde去加载网络图片,因为这个简直太方便了! ...

  6. 数据结构之Trie树

    1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tr ...

  7. Linux安装JProfiler监控tomcat

    下载JProfiler包wget http://download-keycdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2.rpm 安装JPro ...

  8. Java8 按照类属性去重

    测试po package com.shiwulian.test.po; public class Person {private String id;private String name;priva ...

  9. Android 学习笔记二 自定义按钮形状 颜色 点击渐变

    问题:自定义按钮的颜色 形状弧度  渐变效果 1.新建自定义属性button_login.xml (借鉴某大神) <?xml version="1.0" encoding=& ...

  10. django+uwsgi+nginx+postgresql备忘

    安装pg创建数据库xxx设置用户密码111111 apt-get install postgresql su - postgres psql create database xxx; alter us ...