stub 与 mock 的区别

有些东西就是这样,有些东西你心理面很明白,可是当你要给别人讲的时候却发现有一点点困难。

 

关于Stub & Mock的确别,我的理解是:

 

1.先说不同点:

 

   Stub方法里面需要实现逻辑,因为对Stub的调用者需要依赖,stub模块或函数的返回值,正因为此,搭建stub跟mock比起来,是比较耗费精力的。也正因为此,stub一般用于粗粒度测试。

 

   而mock的关键则是他要足够啥,只要能够让他的依赖者与之进行足够的交互既可以,正因为他傻,所以他的编写相对较容易,也正因为他傻,创建mock的工作可以由Easymock,mockmaker来自动完成,也正因为此,他可以用作细粒度的测试。

 

2.再说相同或想联系的地方。

 

   都能够对系统进行隔离,

 

   测试的很多时候我们会把一个mock退化成一个简单的stub,大多数的mock生成工具也都支持这一点。从这一点我们也可以看出,虽然作为很不同的两个概念,但他们之间也不是永远有着严格的界限。

 

其他的呢?关于设计与使用上的更多考量呢? 呵呵 这里推荐Martin Fowler 的一篇文章,文章很好,是naias宝宝 发给我的,感谢naias宝宝。:)

 

Mocks Aren't Stubs

Mocks Aren't Stubs(一个翻译的版本)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值