我一直在使用Jest来模拟一些变量,这些变量用于测试功能中,例如:
global.SERVER_URL = 'test';
await hydrateApp();
expect(ReactDOM.hydrate).toBeCalled();
此处,SERVER_URL
使用hydrateApp()
的新设置值。但是,我无法使用module
执行此操作。当我尝试设置module.hot
时,调用该函数时它将仍然是未定义的:
global.module.hot = {
accept: jest.fn()
};
await hydrateApp();
expect(global.module.hot.accept).toBeCalled();
在这种情况下,module.hot
在hydrateApp()
内部未定义。
如何在要测试的函数使用的模块对象上设置变量?