如何在每次Jest测试运行之前运行一些配置

Jon*_*ood 9 unit-testing reactjs reactjs-flux jestjs

我正在为React应用程序编写测试,该应用程序使用Fluxxor来提供事件调度程序.做这项工作需要告诉Jest不要模拟内部使用的几个模块,并由Node本身提供.

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

[ 'util', 'events' ].forEach(function (module) {
  jest.setMock(module, require.requireActual(module));
});
Run Code Online (Sandbox Code Playgroud)

但是,我找不到任何有用的东西.我有一个setupEnvScriptFile设置了几个我在几乎所有测试中使用的全局变量,但是该jest对象在该上下文中似乎不可用,所以我不能只在那里设置模拟.

作为一个hacky权宜之计,我把上面的代码包装在一个函数中,我在describe测试Fluxxor商店的任何块的开头调用它,但它远非理想.

Jon*_*ood 0

至少目前看来,答案是“在这种情况下不能”,但需要进行两项更改来支持它,但还存在一些问题。

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