javascript - 有关如何在运行 Jest 测试时摆脱 Cannot find module 'ReactElementType' from 'ReactRef.js' 的任何想法

标签 javascript react-native jestjs

我将react-native升级到0.39.0,将jest升级到17。出于某种原因,当我运行测试时,jest 17在多个测试中抛出错误。但是 Jest 工作正常吗?

  ● Test suite failed to run

Cannot find module 'ReactElementType' from 'ReactRef.js'

  at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:151:17)
  at Object.<anonymous> (node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactRef.js:14:344)
  at Object.<anonymous> (node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js:14:14)

最佳答案

如果您使用的是旧版本 babel-plugin-flow-react-proptypes,则可能会发生这种情况(最高 0.18)与相当新的 React Native(0.38 及更高版本)。

参见this问题以获取更多详细信息。

升级到插件版本 0.19 似乎可以解决该问题。无论您使用哪个版本的 babel-jest,这都有效,甚至最高版本为 18.0.0。

即使您没有使用 babel-plugin-flow-react-proptypes,您也​​可能想阅读他们的 explanations了解可能导致此类错误的原因,其中流类型未正确剥离。

(请注意,正如您在上述问题中看到的那样,有些人在升级后开始出现不同的错误。当前尝试在 iOS 中运行该应用程序时似乎确实是这种情况,但希望该问题能够得到解决在不久的将来。)

关于javascript - 有关如何在运行 Jest 测试时摆脱 Cannot find module 'ReactElementType' from 'ReactRef.js' 的任何想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41080027/

相关文章:

react-native - 在 React Native 中从模态打开模态

javascript - React Native FlatList keyboardShouldPersistTaps 不持久

react-native - 我无法使用 ffmpeg 在叠加层之上应用叠加层

javascript - 测试数组是否为空或包含某个对象

javascript - 仅在 ng build 后才看到错误

javascript - 使用 ActiveForm 在 yii2 中的电子邮件和密码字段中自动完成关闭

javascript - 在不使用模块的情况下在 Jest 中跨多个测试配置 jsdom

javascript - 为什么我的 Vue 单元测试无法识别函数?

javascript - 如何迭代 json 对象的嵌套属性并创建新的数组列表?

javascript - Firefox 与 IE : innerHTML handling