我正在阅读这份文件sinonjs.org,对我而言,尚不清楚存根和模拟之间的区别。
有人可以用简单的话来解释我吗,还可以举一些例子来说明存根和模拟的区别吗?
附言:
我已经读过有关What is the difference between mocks and stubs ( JMock)的信息,但是答案没有示例。
最佳答案
我将尝试用几句话来解释:
var collaborator = {};
collaborator.collaboration = sinon.mock();
SUT.setCollaborator(collaborator);
SUT.play();
collaborator.collaboration.verify();
var collaborator = {};
collaborator.collaboration = sinon.stub().returns(1);
SUT.setCollaborator(collaborator);
SUT.play();
存根和模拟下面的技术是相似的,不同之处在于测试的目的。
从http://sinonjs.org/docs/#mocks:
关于javascript - 在测试 spy 的上下文中, stub 和模拟之间有什么区别? ( Jasmine ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12071192/