我有一个基于股票create-react-app
的基本应用程序,这意味着它的jest
配置也是默认的。我的文件夹结构如下:
src
└── __mocks__
└── Item.js
└── __tests__
└── Item.test.js
└── List.test.js
└── Item.js
└── List.js
我的模拟相当简单-我正在获取包装在react-dnd
上下文中的原始组件:
../__ mocks __ / Item.js
import Item from "../Item"
export default Item.DecoratedComponent
在我的 Item.test.js 中,如果我直接从__mocks__
文件夹中导入,则测试运行正常:
import Item from '../__mocks__/Item'
但是,我想指示jest
使用此模块的模拟版本,如下所示:
import Item from '../Item'
jest.mock('../Item')
我要这样做的原因是因为当我为内部List
组件的Item
组件编写测试时,我不会导入Item
组件直接在List.test.js
中,但是我还想指示jest
使用模拟的Item
模块。
但是,以上内容对我不起作用,即我的测试似乎使用了原始的Item
组件,尽管there are suggestions that this should work。
我在做什么错?如何正确指示jest
使用模块的模拟实例?