我正在编写对反应应用程序的测试,这使得使用fluxxor提供事件调度员。使工作需要告诉Jest不要模拟一些内部使用的模块,并且由节点本身提供。

这意味着我不能只将它们添加到unmockedModulePathPatterns配置密钥中,而是必须使用这样的代码:

[ 'util', 'events' ].forEach(function (module) {
  jest.setMock(module, require.requireActual(module));
});
.

但是,我找不到有用的地方来放置它。我有一个生成的generacodetagcode,它建立了几乎所有测试中的几个全局,但是世纪odicetagcode对象似乎没有在该上下文中可用,因此我不能只设置那里的模型。

作为一项乱写的stopgap测量,我在一个函数中包装了上面的代码,我在任何世代古代码块测试Fluxxor商店的开始时呼叫,但它远非理想。

有帮助吗?

解决方案 2

似乎答案,至少目前,“你不能在这种情况下无法”,但是对于需要进行支持它的两个更改有问题。

https://github.com/facebook/jest/isues/106 https://github.com/facebook/jest/issues/107

其他提示

您是否尝试过 config。setuptestframeworkscriptfile ?似乎它将是猴子修补API的正确位置。

fwiw,这是一个我们一直在使用的解决方案,为我们的测试规范添加Fluxxor并反应路由器支持。

https://gist.github.com/adjavaherian/a15ef0461e65d58aacd2

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top