Javascript sinon.stub()与sinon.sandbox.stub()?
在我们的前端单元测试中使用sinon和sinon qunit,我正在努力理解这些方法的区别。我们使用的是Javascript sinon.stub()与sinon.sandbox.stub()?,javascript,unit-testing,qunit,sinon,Javascript,Unit Testing,Qunit,Sinon,在我们的前端单元测试中使用sinon和sinon qunit,我正在努力理解这些方法的区别。我们使用的是sinon.sandbox.stub()(字面意思是函数,我们不创建沙盒),这些stub显然在每次测试后自动恢复。我只是在文档中没有看到这一点 我认为这个方法不存在,我认为您需要使用sinon.sandbox.create()显式创建一个沙盒。在该沙盒对象上,您将调用存根函数,,即mySandbox.stub(),而不是“sinon.sandbox.stub()” 有人能帮我理解吗?存根-Si
sinon.sandbox.stub()
(字面意思是函数,我们不创建沙盒),这些stub显然在每次测试后自动恢复。我只是在文档中没有看到这一点
我认为这个方法不存在,我认为您需要使用sinon.sandbox.create()
显式创建一个沙盒。在该沙盒对象上,您将调用存根函数,,即mySandbox.stub()
,而不是“sinon.sandbox.stub()”
有人能帮我理解吗?存根-Sinon.JS
sinon.stub()代码>阅读关于
沙盒-Sinon.JS
sandbox.stub()代码>从中读取详细信息
其工作原理几乎与sinon.stub
完全相同,只是将返回的stub添加到内部赝品集合中,以便通过sandbox.restore()
轻松恢复
沙盒存根方法也可用于存根任何类型的属性。如果您需要在测试期间覆盖对象的属性,并在测试完成时将其还原,则此选项非常有用。您确定不在after()
块中调用.restore()
?它所做的唯一额外的事情是,它将存根添加到一个内部列表中,当调用.restore()
时,它会还原其中的所有存根。我们肯定不会在任何地方调用restore。我猜sinon qunit框架是在幕后进行的。根据文档,它会自动恢复所有存根/间谍jQuery.ajax
fake。