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 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu上使用Nginx web框架OpenResty

OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭...

773
来自专栏运维

OpenResty Redis 安装部署测试SET GET功能

https://openresty.org/cn/installation.html

832
来自专栏Java学习网

Java通过Socket实现TCP编程,实现用户登录之服务器相应客户端,客户端和服务端之间的通信

791
来自专栏weixuqin 的专栏

Nginx 安装配置教程

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #454545 }...

961
来自专栏生信技能树

perl模块安装大全

今天又有小伙伴微信问我perl模块安装的问题,因为ENSEMBL发布的大多数数据库以及软件都是基于perl的,尤其是分量很重的VEP,所以即使你再如何如何的讨厌...

3767
来自专栏FreeBuf

sRDI:一款通过Shellcode实现反射型DLL注入的强大工具

今天给大家介绍的是一款名叫sRDI的注入工具,它可以基于Shellcode实现反射型DLL注入,并能够将DLL转换成独立的Shellcode。

763
来自专栏向治洪

如何让service不被杀死

1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建 @Override    ...

1617
来自专栏Golang语言社区

社区leaf学习笔记|03. 调试Game、Login模块收发消息

952
来自专栏三杯水

OpenResty Redis 安装部署测试SET GET功能

https://openresty.org/cn/installation.html

991
来自专栏运维

Cacti插件安装之nagios

一,安装nagios useradd nagios必须的,要不make install时过不去 wget http://cdnetworks-kr-1.d...

974

扫码关注云+社区