我试图对一个模块(使用tapejs)进行单元测试,该模块依赖于另一个使用文档对象的模块,并且出现“ReferenceError:未定义文档”
// My module i want to test
import { createUrl } from '../config/paths';
// Paths.js
export const url = document.location.toString(); // This is where i'm getting the error.
我尝试使用proxyquire代理此依赖关系,但似乎没有任何作用。
const store = proxyquire('../../../store/list-store', {
'../config/paths': {
createUrl: stub(),
},
});
有什么建议么?
最佳答案
使用proxyquire的noCallThru
方法帮助我实现了这一点。
根据proxyquire的文档:
我的解决方案:
const proxyquireStrict = proxyquire.noCallThru();
const Store = proxyquireStrict('../../../store/booking-add-store', {
'../config/paths': {
createUrl: () => stub().returns(''),
},
}).default;