stub和mock

1.什么是stub

Stub:
For replacing a method with code that returns a specified result

简单说就是你可以用stub去伪造(fake)一个方法,阻断对原来方法的调用.

还有一种小白解释:

.为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这种本地对象称为存根(stub),存根负责接收本地方法调用,并将它们委派给各自的具体实现对象。

2.为什么要stub

我们在做单元测试,被测的功能可能会非常复杂,功能函数里面又调用了其它的复杂方法等等,而测试所有功能是集成测试应该做的工作.

在实际测试中,我们将测试工作分层进行,将暂时不关注的东西屏蔽掉,当被测功能调用他的时候给他返回一个可用的值。

3.什么是mock

Mock:
A stub with an expectations that the method gets called

mock就是stub + expectation, 说它是stub是因为它也可以像stub一样伪造方法,阻断对原来方法的调用, expectation是说它不仅伪造了这个方法,它还期望你(必须)调用这个方法,如果没有被调用到,这个testfail

 

 

reference: https://ruby-china.org/topics/10977

posted @ 2016-01-08 15:04  rainbow1987  阅读(205)  评论(0编辑  收藏  举报