React Native使用Jest测试报错Cannot find module 'react-apollo/test-utils'
问题排查与解决方案
核心错误原因
你当前的package.json中未安装react-apollo相关依赖,且react-apollo已停止维护,官方测试工具已迁移至新版@apollo/client包中。
解决方案
方案1:使用官方推荐的新版Apollo Client(推荐)
- 安装核心依赖
npm install @apollo/client graphql --save
- 修改
login-test.js中的导入语句
将第5行代码替换为:
import { MockedProvider } from '@apollo/client/testing'
- 补充Jest转换配置
在package.json的jest.transformIgnorePatterns数组的正则末尾追加|@apollo/client,避免Jest跳过转换该包代码导致报错。
方案2:保留旧版react-apollo用法
- 安装对应依赖
npm install react-apollo --save
- 若安装后仍有找不到模块的报错,在
package.json的jest.transformIgnorePatterns数组的正则末尾追加|react-apollo即可。
额外检查项
如果修改后仍然报错,可以检查项目jestSetupFile.js中的moduleNameMapper配置,确认没有对apollo相关路径做错误的别名映射。
内容的提问来源于stack exchange,提问作者Abhigyan Gaurav
相关产品推荐
相关产品推荐

