我理解的白盒测试(三)

Mock

在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
在这里插入图片描述
如上图,为了测试类A,我们需要Mock B类和C类(用虚拟对象来代替)

Mock适用

适用:
真实对象的行为具有不确定性。
真实对象难以创建。
真实对象的行为难以模拟(例如网络错误)。
真实对象运行效率很低。
真实对象有或者是UI。
测试需要得到某个对象列表,但是真实对象必须在某种环境下才能提供。
真实对象还没实现

Stub:
当这种依赖难以实现或者不稳定的时候可以考虑使用Stub策略,例如,需要测试的系统,可能需要访问数据库,依赖于运行环境(安全性,存储,Web Service),或者需要访问远程文件系统,访问远程协议(HTTP,SOAP)等。

(有兴趣可详细了解Mock与Stub区别)

Mock优点

提前创建测试,TDD(测试驱动开发)
团队可以并行工作
你可以创建一个验证或者演示程序
为无法访问的资源编写测试
Mock 可以交给用户
隔离系统

Mock工具

主流mock工具:
JMockit
EasyMock
Mockito
PowerMock

目前使用Mockito
可读性强,应用广泛
不适用final、static、private的对象,熟练掌握后可结合别的工具使用,如PowerMock

Mockito使用

1.创建工程,或导入已有工程,按步骤引用Junit和Mockito
在这里插入图片描述
2.点击Sync Now将修改同步
在这里插入图片描述
3.AddCalc类
在这里插入图片描述
4.AddCalled类
在这里插入图片描述
5.在待测代码空白处右击,选择Go To -> Test
在这里插入图片描述
6.点击Create New Test…
在这里插入图片描述
7.创建测试用例
在这里插入图片描述
8.选择测试用例保存路径
在这里插入图片描述
9.自动生成测试用例
在这里插入图片描述
10.修改测试用例
a.创建mock对象;
b.将mock与待测试对象连接;
c.设置预期返回值;
d.设计并执行测试用例;
e.验证测试结果,如调用顺序、返回值等。
在这里插入图片描述
11.测试结果
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值