執行我使用Rewire package在做單元測試連接到注入嘲笑。我希望能夠測試我的模塊專用功能:通過這樣重新接線:怎麼可能,此函數不返回指定的返回值
var a = 10;
var b = 20;
function adder(){ //not exported
console.log(a);
console.log(b);
return a + b;
};
:
var rewire = require('rewire'),
md = rewire('./module'),
mock = {a: 30, b: 40},
cb = md.__get__('adder');
console.log(md.__with__(mock)(cb));
其中記錄了以下控制檯:
30
40
undefined
我覺得這奇怪,因爲30
和40
的記錄似乎表明adder()
已成功調用與mock
。
但是爲什麼在70
代替返回值undefined
?