Dummary、Fake、Stub、Spy、Mock介绍

Test Double(测试替身) 可以分为Dummary、Fake、Stub、Spy、Mock几种。下面是定义:

Dummy Object不包含实现的对象(Null也是),在测试中需要传入,但是它没有被真正地使用,通常它们只是被用来填充参数列表。
Fake有具体实现的,但是实现中做了些捷径,使它们不能应用与生产环境(举个典型的例子:内存数据库)
Stub返回固定值的实现
State verification 状态验证
Spy类似于Stub,但会记录被调用那些成员,以确定SUT(System Under Test)与它的交互是否是正确的
Behavior verification 行为验证
Mock由Mock库动态创建的,能提供类似Dummy、Stub、Spy的功能。
开发人员看不到 Mock object 的代码,但可以设置 Mock object 成员的行为及返回值。

Dummy通常用于填充参数,并且不会被真正调用到;Fake是提供了一套简易的实现,利用简易实现来测试功能;Stub通过打桩来固定一些返回值或执行异常操作等;

Spy创建的对象可以用来监控行为是否被执行、执行顺序等,在mockito中执行Spy方法,真实对象也会影响到,因为spy对象是对真实对象的一个拷贝;

Mock拥有其他替身的能力,是由动态库生成的,可以设置行为和返回值


其他参考:

http://docs.spring.io/spring/docs/current/spring-framework-reference/pdf/spring-framework-reference.pdf

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#spring-mvc-test-framework

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值