我如何在每次Jest测试运行之前运行一些配置
-
21-12-2019 - |
题
我正在编写对反应应用程序的测试,这使得使用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并反应路由器支持。
不隶属于 StackOverflow