Mock(一)

  1. Mock定义
    mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为

  2. 使用mock
    在做单元测试过程中,经常会有以下的场景:

class A 依赖 class B

class B 依赖 class Cclass D

class C 依赖 ...

class D 依赖 ...

1.被测对象依赖的对象构造复杂 我们想对class A进行单元测试,需要构造大量的class B、C、D等依赖对象,他们的构造过程复杂(体现在构造步骤多、耗时较长),这时我们可以利用mock去构造虚拟的class
B、C、D对象用于class A的测试,因为我们只是想测试class A的行为是否符合预期,我们并不需要测试依赖对象。

2.被测单元依赖的模块尚未开发完成,而被测对象需要依赖模块的返回值进行测试:
----- 比如service层的代码中,包含对dao层的调用,但dao层代码尚未开发
----- 比如web的前端依赖后端接口获取数据进行联调测试,但后端接口并未开发完成

  • 哪些时机和场合需要使用mock

1.单元测试/接口测试中测试对象依赖其他对象,这些对象的构造复杂、耗时或者根本无法构造(未交付)
2.我们只测试对象内部逻辑的质量,不关心依赖对象的逻辑正确性和稳定性

4.mock分类
单元测试 基于代码层面的mock
接口测试 基于网络接口层的mock
5.mock原理
http 基于代理或host的方式
rcp
6.单元测试mock的框架
基于JAVA

  • EasyMock
  • Mockito
  • powerMockito

7.Mock方案
搭建服务
自定义URL与替换数据规则
通过代理,host解析等方式改变网络访问目标
无需修改代码即可直接使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值