Ret*_*tta 2 javascript proxyquire
我试图让Proxyquire使用简单的方法替换,但我无法弄清楚我做错了什么.
我创建了lib.js.
module.exports = {
thing: () => {
console.log("thing");
}
};
Run Code Online (Sandbox Code Playgroud)
和test.js
const lib = require("./lib");
module.exports = () => {
lib.thing();
};
Run Code Online (Sandbox Code Playgroud)
并试图将依赖关系和替换东西与另一个函数,即
const proxyquire = require("proxyquire");
const libStub = {};
const test = proxyquire("./test", {"lib": libStub});
test();
libStub.thing = () => {
console.log("replaced");
};
test();
Run Code Online (Sandbox Code Playgroud)
但是测试在两次调用时都会记录"事物"而不是"替换".任何帮助表示赞赏.
在proxyquire中,使用您在require本身中使用的相同路径:
所以应该是:
const proxyquire = require("proxyquire");
const libStub = {
thing: () => console.log('replaced')
};
const test = proxyquire("./test", {"./lib": libStub});
test();
Run Code Online (Sandbox Code Playgroud)