我目前正在测试我的 React 组件之一,如下所示:
it('renders correctly', () => {
const tree = renderer.create(<Scene {...props} />).toJSON();
expect(tree).toMatchSnapshot();
});
我的组件
Scene
进口一个
setting.json
文件。我在本地实例上有那个文件,但我没有将它推送到我的 CI 实例上。因此,当它尝试导入它时,找不到该文件。
有没有办法在我的测试中模拟这个文件?
请您参考如下方法:
您可以使用 moduleNameMapper
在你的笑话设置中将导入指向一个模拟的 json 文件。
{
"moduleNameMapper": {
"setting.json": "<rootDir>/__mocks__/setting.json"
}
}
或者您可以使用
jest.mock
在你的测试中直接模拟文件,注意你必须添加
{ virtual: true }
范围。
jest.mock('path/to/setting.json', ()=>({
settings: 'someSetting'
}), { virtual: true })