Android Studio下的单元测试

单元测试的重要性不用多说, 那该如何用Android Studio进行单元测。

一、建好项目,先写一个需要测试的简单方法

public class Calculator{
    public int add(int a,int b){
        return a + b;
    }
}

二、创建单元测试文件夹,添加测试方法:

在创建项目时,AS已经为我们自动创建了一个AndroidTest的包,打开ApplicationTest,添加测试方法:

public void testAdd() throws Exception{
    Calculator service = new Calculator();
    int result = service.add(1,2);
    assertEquals(3,result);
}

注:方法名必须以test开头,否则测试框架会不能找到方法。 而且一定记得把异常抛出,这样测试框架才能进行捕获

我们也可以自己创建测试文件包和测试类。

import android.test.InstrumentationTestCase;
import com.gwk.aunittest.Calculator;

/**
 * Created by gwk_87 on 2016/1/25.
 */
public class MyTest extends InstrumentationTestCase {
     public void testAdd() {
     Calculator service = new Calculator();
     int result = service.add(1, 1);
     assertEquals(2, result);
    }
}

我们自己写的类一定要继承InstrumentationTestCase,这样才能被添加到测试框架中。

三、为单元测试创建运行配置

在要测试的方法处,右单击,按如下选项操作:

注:如果没有create方法,需要在Build Variants中把测试工件改为:Android Instrumentation Tests

在弹出的选项卡中分别找到测试类和测试方法,然后提交

打开配置对话框,选择Android Test,进行如下设置: 右侧Module选择你的工程名,这里是app Test: Method

四、现在就可以进行测试了,Run'testAdd()'

可以在控制台看到测试成功的绿条了:

我们把测试方法中的断言改一下,产生错误运行结果:

public void testAdd(){
    Calculator service = new Calculator();
    int result = service.add(1,2);
    assertEquals(4,result);
}

测试框架提示我们:期望的是4,可是运行结果是3

原文发布于微信公众号 - 程序员阿凯(AKBC159)

原文发表时间:2016-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成神之路

Java之 将程序打包成jar包

   2.指定目录:建一个目录,来存放.class文件和.jar文件。 本文指定目录为 E:\myclass 。

773
来自专栏依乐祝

Net Core集成Exceptionless分布式日志功能以及全局异常过滤

这篇文章有一部分内容翻译自官方文档,[点我阅读][https://github.com/exceptionless/Exceptionless.Net/wiki...

502
来自专栏云计算

从 Android 到 Windows Phone 8:使用 SQL 数据库

在接下来的几篇文章中,我将介绍如何使用 Windows Phone 8 平台上的本地数据,并与 Android 平台相比较。

18510
来自专栏Java成神之路

GEF入门实例_总结_01_教程、源码、开发环境准备

最近在学Eclipse插件开发,发现了一个比较好的GEF入门教程,并且按照教程上的操作,一步步实现了一个入门Demo,在此感谢作者的贡献。

681
来自专栏哲学驱动设计

实战 ASP.NET Web API

Web API 框架是一个面向 Http 协议的通信框架。相对于 WCF 而言,Web API 只面向于 Http 协议设计,而且没有 WCF 那么繁琐的配置。...

2025
来自专栏angularejs学习篇

.net捕捉全局未处理异常的3种方式

 我们在实际项目开发中,经常会遇到一些不可预见的异常产生,有的异常在程序运行时就对其进行处理(try) 但是,有的程序不需要每一个地方都用try进行处理,那么针...

902
来自专栏乐沙弥的世界

VirtualBox 扩展包卸载或安装失败(VERR_ALREADY_EXISTS)

       最近在卸载VirtualBox出现了无法卸载的错误。提示为Failed to install the extension. The install...

631
来自专栏.NET技术

Visual Studio Package 插件开发之自动生成实体工具

  这一篇是VS插件基于Visual Studio SDK扩展开发的,可能有些朋友看到【生成实体】心里可能会暗想,T4模板都可以做了、动软不是已经做了么、不就是...

903
来自专栏Petrichor的专栏

安装teamviewer 远程桌面

版权声明:转载请注明出处 https://blog.csdn.net/JNingWei/article/details/73436761 ...

1434
来自专栏令仔很忙

EasyUI----动态拼接EasyUI控件

最近在做的项目中,根据查询到的数据,然后动态的拼接easyUI的控件显示到界面上。在数据库中,有一个命令的表,还有一个参数的表,先到命令的表中去查询这一个设备有...

903

扫码关注云+社区