码迷,mamicode.com
首页 > 移动开发 > 详细

android 单元测试

时间:2016-05-07 08:10:52      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

序言

当程序业务逻辑也越来越复杂的时候,测试当中出了业务逻辑的bug是最难改了。如果说你有写单元测试的习惯,通过业务逻辑的单元测试可以很容易找到出错的代码块,然后解决掉。今天来给大家介绍下android中的单元测试基本使用

What android的单元测试可以干些什么事

android的framework中提供有关单元测试的api,首先我们先来看一下api的架构体系图

技术分享

由此可以见系统已经支持 android中重要组件的单元测试(activity,Service,ContentProvider和Application)的单元测试

在实际工作当中可能对于业务逻辑测试和接口测试会偏多一些
比如mock一些业务流程 然后去写TODO伪代码,测试是否符合预期,然后去做UI实现。首先保证我们的业务逻辑不会出错,这样才能保证我们的程序不会出大的bug

How 如何使用

测试业务逻辑的单元测试
当测试不需要对app内部资源引用的时候,我们可以用org.junit.Test,此方式不会安装app到手机中
1.我们新建一个OperationServiceUnitTest

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 * Created by qinwei on 16/5/6 下午3:15
 */
public class OperationServiceUnitTest {
    private OperationService service;

    @Before
    public void setUp() throws Exception {
//        TODO 做一些测试配置
         service=new OperationService();
    }

    @Test
    public void testAdd() throws Exception {
        assertEquals(1,service.add(1,1)) ;
    }

    @Test
    public void testMultiplicative() throws Exception {
        assertEquals(2,service.multiplicativ(1,1)) ;

    }

    @After
    public void tearDown() throws Exception {
//      TODO  测试结束调用
    }

2.写一个方法testAdd 方法用@Test注解修饰

    @Test
    public void testAdd() throws Exception {
        service=new OperationService();
        //对测试结果做一个预期判断
        assertEquals(2,service.add(1,1)) ;
    }

测试通过后我们可以看到这个界面
技术分享

测试不通过
技术分享

当涉及到app内部资源的单元测试,此方式会安装app到手机中
1.创建AndroidTestCase子类

/**
 * Created by qinwei on 16/5/6 下午3:48
 */
public class LoginTest extends AndroidTestCase {

    public void testLogin() throws Exception {
        String username = getContext().getString(R.string.username);
        String password = getContext().getString(R.string.password);
        LoginBiz biz = new LoginBiz();
        assertEquals(true, biz.doLogin(username, password));
    }
}

可用通过getContext方法拿到上下文对象,你就可以用此对象进行对数据库操作,sp操作,得到String.xml文件数据等等

-------------activity的单元测试待续------------

结束语

文中有讲到不对的地方还请大家斧正。

android 单元测试

标签:

原文地址:http://blog.csdn.net/qinwei1993/article/details/51332461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!