1、Android测试入门

简介: 编写和运行测试时Android APP开发周期中的重要的一环。好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信。

编写和运行测试时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月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
8天前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
36 4
Android性能测试——发现和定位内存泄露和卡顿
|
1天前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
18 10
|
12天前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
9天前
|
IDE Java 程序员
安卓应用开发入门:打造你的第一个“Hello World”
【9月更文挑战第11天】在编程的世界里,每一个初学者的旅程都从一个简单的“Hello World”开始。本文将带领安卓开发的新手们,通过简单直观的方式,一步步构建出自己的第一个安卓应用。我们将探索安卓工作室(Android Studio)的安装、项目的创建,以及如何运行和调试你的应用。无论你是编程新手还是想扩展技能的老手,这篇文章都将为你打开一扇通往安卓世界的大门。
44 7
|
8天前
|
测试技术 Shell Android开发
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
31 6
|
8天前
|
JavaScript 测试技术 Android开发
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
23 5
|
8天前
|
测试技术 Shell Android开发
Android 性能测试初探 (三)
本文承接《Android性能测试初探(二)》,深入探讨CPU与内存测试。介绍了移动端内存测试的重要性及其测试目标,并详细列举了不同状态下应用内存消耗情况的测试项目。此外,还提供了多种内存测试方法,包括使用`procrank`等工具的具体操作步骤。最后,文章也简要提及了CPU测试的相关内容,帮助读者更好地理解Android性能测试的关键要素。
28 5
|
8天前
|
测试技术 Shell 定位技术
Android 性能测试初探 (五)
聊聊大家不常关注的测试项- 功耗
26 3
|
8天前
|
算法 测试技术 Android开发
Android 性能测试初探 (二)
上回大体介绍了下在 android 端的性能测试项,现在我们就细节测试项做一些阐述(包括如何自己 DIY 测试)
22 4