开玩笑:如何取消 index.js 文件中列出的组件?

Jest: How to unmock components listed in an index.js file?

使用 Jest 对我的 React 组件进行单元测试。

我在 src/components/index.js 下列出了我的组件,因此我可以执行以下操作:

import { MyComponent } from 'components';

使用 jest 时如何在这样的 require 路径上调用 unmock

jest.unmock('components/MyComponent'); // ???

import { MyComponent } from 'components';

// ... tests below ...

上面的方法不起作用,尽管这基本上是期望的结果。

我以前遇到过类似的问题,删除导入解构适用于 jest 12.0.1。

所以而不是;

import { MyComponent } from 'components';

尝试一下;

import index from 'components'
// test code
index.MyComponent

就我个人而言,我通常只是直接包含我想要测试的组件,而不是从索引中引用它。当使用未定义将测试放在代码旁边的标准的测试库时,仅使用索引似乎是值得的。