重新连接私有函数 p0,但显示:p0 未定义
Rewire a private function p0, but says: p0 not defined
main.js是这样的
const p0 = (a, b) => (a+b)
const p1 = (a, b) => {
return p0(a, b) + 10;
}
module.exports = { p1 }
测试代码
const rewire = require('rewire');
const myMod = rewire('main');
it('.test p0', async() => {
const mockP0 = (a, b) => (a*b);
myMod.__set__(p0, mockP0);
return p1(2, 10);
});
ReferenceError: p0 未定义
我以为rewire可以访问私有函数,请问如何解决?谢谢!
第一个参数应该是字符串或对象。
尝试
myMod.__set__('p0', mockP0);
或
myMod.__set__({p0: mockP0});
main.js是这样的
const p0 = (a, b) => (a+b)
const p1 = (a, b) => {
return p0(a, b) + 10;
}
module.exports = { p1 }
测试代码
const rewire = require('rewire');
const myMod = rewire('main');
it('.test p0', async() => {
const mockP0 = (a, b) => (a*b);
myMod.__set__(p0, mockP0);
return p1(2, 10);
});
ReferenceError: p0 未定义
我以为rewire可以访问私有函数,请问如何解决?谢谢!
第一个参数应该是字符串或对象。
尝试
myMod.__set__('p0', mockP0);
或
myMod.__set__({p0: mockP0});