我刚刚测试过。它就像魅力。
'use strict'function foo () { return 'foo';}exports.foo = foo;function bar () { return exports.foo(); // <--- notice}exports.bar = bar;说明
当你做
sinon.stub(myModule,'foo').returns('foo2')那么sinon存根的
exported对象是
foo不是真正
foo从内部功能
myModule.js......因为你必须知道,
foo在访问从模块外。因此,设置后
exports.foo,导出的对象
exports.foo将存储的引用
foo。当您致电时
sinon.stub(myModule,'foo').returns('foo2'),sinon将存根
exports.foo而不是实际的
foo
希望这有道理!



