用酶测试expo:jest-environment-enzyme不导出getVmContext

fcy6dtqo  于 2023-03-27  发布在  Jest
关注(0)|答案(3)|浏览(461)

我想在Expo托管项目中使用enzyme来测试我的React-Native组件。我遵循了jest-expo-enzyme的文档,但现在我得到了:

Test environment found at "/Users/raarts/myproject/node_modules/jest-environment-enzyme/lib/index.js" does not export a "getVmContext" method, which is mandatory from Jest 27. This method is a replacement for "runScript".

我的猜测是jest-environment-enzyme(2年前的最后一个版本),不知何故需要更新jest 27,但鉴于jest-expo-enzyme是2个月前发布的,我想我一定是做错了什么。
有人有什么建议吗?

jmo0nnb3

jmo0nnb31#

这是酶中的bug。此注解中提供了解决方法。
解决方案是强制升级jest-environment-jsdom包。更好的方法是通过解析,如果你使用的是Yarn,将这个添加到你的包中。json:

"resolutions": {
    "jest-environment-jsdom": "27.4.6"
  },

检查jest-environment-jsdom的最新版本,并在必要时进行更改。
你也可以在经典的NPM中使用npm-force-resolutions package来实现这一点。

注意:修复此问题后可能会遇到其他问题,如果出现setImmediate错误,请参见此注解

23c0lvtd

23c0lvtd2#

我正在开发Next js项目,并使用Jest和enzyme进行测试,对我来说,我可以通过更改testEnvironment来修复这个错误:'enzyme',测试环境:jest.config.js文件中的'jsdom'。

vaj7vani

vaj7vani3#

尝试安装下一个包:

npm i jest-environment-jsdom

相关问题