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

use*_*038 7 javascript unit-testing qunit sinon

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

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

谁能帮我理解?

Nil*_*iya 6

存根 - Sinon.JS

sinon.stub();从这里阅读


沙盒 - Sinon.JS

sandbox.stub();从这里阅读详细信息

工作原理几乎一模一样sinon.stub,只是将返回的存根添加到内部假货集合中,以便于恢复sandbox.restore()。

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