我正在为使用 Fluxxor 提供事件调度程序的 React 应用程序编写测试。要做到这一点,需要告诉 Jest 不要模拟一些内部使用的模块,这些模块是由 Node 本身提供的。
这意味着我不能只将它们添加到unmockedModulePathPatterns
配置键中,而是必须使用如下代码:
[ 'util', 'events' ].forEach(function (module) {
jest.setMock(module, require.requireActual(module));
});
但是,我找不到任何有用的地方。我有一个setupEnvScriptFile
设置了一些全局变量,我几乎在所有测试中都使用了这些全局变量,但是该jest
对象似乎在该上下文中不可用,所以我不能只在那里设置模拟。
作为一种临时的权宜之计,我将上面的代码包装在一个函数中,我在describe
测试 Fluxxor 存储的任何块的开头调用该函数,但它远非理想。