重新连接一个私有函数p0,但表示:p0未定义



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未定义

我想重新布线可以访问私人功能,请问如何解决这个问题?Thx!

第一个参数应该是字符串或对象。

尝试

myMod.__set__('p0', mockP0);  

myMod.__set__({p0: mockP0});  

最新更新