sinon.stub()vs sinon.sandbox.stub()?

时间:2014-05-27 14:32:10

标签: javascript unit-testing qunit sinon

在我们的前端单元测试中使用 sinon sinon-qunit ,我很难理解这些方法的不同之处。我们正在使用sinon.sandbox.stub()(字面意思是功能,我们不创建沙箱),这些存根显然在每次测试后自动恢复。我只是在文档中的任何地方都看不到这一点。

我不认为这种方法存在,我认为你需要使用sinon.sandbox.create()显式创建一个沙箱。在该沙箱对象上,您将调用存根函数i.e. mySandbox.stub(),而不是"sinon.sandbox.stub()"

有人能帮我理解吗?

1 个答案:

答案 0 :(得分:2)

Stubs - Sinon.JS

sinon.stub();了解here

Sandboxes - Sinon.JS

sandbox.stub();阅读here

的详细信息

sinon.stub几乎完全相同,只是将返回的存根添加到内部假货集合中,以便通过sandbox.restore()轻松恢复。

沙箱存根方法也可用于存根任何类型的属性。如果您需要在测试期间覆盖对象的属性,并在测试完成时将其恢复,这非常有用