android 测试 mock,Android 开发 单元测试 (Mock)

本文介绍了在Android开发中进行单元测试时如何使用Mock技术。通过Mockito框架,详细讲解了如何验证方法调用、设置测试桩、参数匹配器、验证执行顺序以及为回调打桩等,帮助开发者更好地进行单元测试。
摘要由CSDN通过智能技术生成

Android 开发 单元测试 (Mock)

上一篇文章中说了JUnit4的作为单元测试的情况下去测试java代码的基本用法, 主要讲到了一些用在有返回值的方法,那么这章, 来介绍怎么测试返回值类型为void的代码的如何测试

假设有这样一段代码

public void loginApp(String name, String password){

if (name == null || name.length() == 0) return;

if (password == null || password.length() < 6) return;

ligon(name, password, new NetworkCallback() {

@Override

public void onSuccess(String msg) {

}

@Override

public void onFailure(String msg) {

}

});

}

public void ligon(String name, String password,NetworkCallback networkCallback){

user.setName(name);

user.setPassword(password);

if (name.equals("TaioPi") && password.equals("123456")) {

networkCallback.onSuccess("OK");

}else {

networkCallback.onFailure("FAIL");

}

}

怎么办

使用Mock(模拟对象)

Mock: Mock的概念,其实很简单, 所谓的mock就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象

结果

用来验证这个对象的某些方法的调用情况,调用了多少次,参数是什么等,

指定这个对象的某些方法的行为,返回特定的值,或者是执行特定的动作

Mock框架 : Mockito

首先还是Mockito 使用的步骤

先导包

testCompile "org.mockito:mockito-core:+"

androidTestCompile "org.mockito:mockito-android:+"

模拟并替换测试代码中外部依赖

执行测试代码

验证测试代码是否被正确的执行

简单实用Mockito

我们这里使用 2.x 来介绍 ,跟刚上一篇一样, 我们这里先把 Mockito的主要功能先列出来, 之后再进行实例使用

1.验证某些行为

一旦mock对象被创建了,mock对象会记住所有的交互。然后你就选择性的验证交互。

// mock creation 创建mock对象

MockotiTestBean mockotiTestBean = mock(MockotiTestBean.class);

//using mock object 使用mock对象

mockotiTestBean.setMockName("TaioPi");

mockotiTestBean.setMockAge("26");

//verification 验证

verify(mockotiTestBean).setMockName("TaioPi");

verify(mockotiTestBean).setMockAge("26");

2.测试桩 Stub

先说一下概念 : Stub完全是模拟一个外部依赖,用来提供测试时所需要的测试数据。

// 你可以mock具体的类型,不仅只是接口

// mockotiTestBean = mock(MockotiTestBean.class);

// stubbing 测试桩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值