0
好的,我正在认真地尝试第一次学习单元测试,我正在使用摩卡& Sinon。模块中的单元测试功能
所以假设的哑模块包含函数foo
和bar
。 Foo
取决于bar
。
(function() {
var bar = function(callback) {
if (willOfTheGods) {
callback('err', null);
} else
callback(null, 'hurrah');
}
var foo = function() {
bar(function(err, res) {
//blah deh blah
});
}
module.exports = {
bar: bar,
foo: foo
}
})();
我想存根bar
所以我可以测试foo
。
这似乎从兴农文档逻辑...
var myModule = require('../myModule');
sinon.stub(myModule, 'bar')
myModule.bar.callsArgWith(0, ['err', null]);
但如果我调用测试本身bar
它才会起作用。
myModule.bar(function(err, result){
console.log('err, result');
});
当我打电话给myModule.foo
它仍然使用原来的'未打开的'。
看起来好像创建一个存根就是为该 函数创建一个新的局部变量,而不是将其存储在模块中。
或者我错过了某些东西 - 或者只是做错了什么?