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
它仍然使用原來的'未打開的'。
看起來好像創建一個存根就是爲該 函數創建一個新的局部變量,而不是將其存儲在模塊中。
或者我錯過了某些東西 - 或者只是做錯了什麼?