执行我使用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
?