Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript sinon.stub()与sinon.sandbox.stub()?_Javascript_Unit Testing_Qunit_Sinon - Fatal编程技术网

Javascript sinon.stub()与sinon.sandbox.stub()?

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

在我们的前端单元测试中使用sinonsinon qunit,我正在努力理解这些方法的区别。我们使用的是
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。