我试图对一个模块(使用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;

10-06 15:39