最新版本的Jest更新ReactNative时出现的Babel问题

b4qexyjb  于 2023-01-31  发布在  React
关注(0)|答案(1)|浏览(145)

更新到ReactNative到最后一个版本,我面临着一些以前工作正常的测试的很多问题。

at _next (.../node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
    at .../node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
    at new Promise (<anonymous>)
...
at _next (.../node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
    at .../node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
    at new Promise (<anonymous>)
...
node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9) {
  cause: undefined
}

这很奇怪,也很坚韧理解问题从何而来,因为在测试中没有任何变化会引起它,所以,它一定是在玩笑、巴别塔或一些相关的依赖性中发生了变化。

"jest": "^29.3.1",
"@babel/core": "7.20.12"
"react-native": "0.71.1"

你知道吗?

ryevplcw

ryevplcw1#

后记,我的一位同事发现问题在于jest如何处理之前版本与上一版本相比的承诺,只是逐个版本地更新ReactNative,而不是从之前版本更新到上一版本。因此,我们检测到releases中有一些内容从0.70.6(2022年11月15日)变更为0.71.0-RC.1(2022年11月23日),这违反了我们的测试。
它与此有关:polyfilling Promise in Jest.
其中一个关键是在jest.config.js中设置安装文件:

setupFiles: ['./jest/setup.js'],

使用此配置:

global.__DEV__ = true;
global.Promise = jest.requireActual('promise');

另一件对我们有用的事情是看一看jest upgrade guides
我希望它也能帮助一些人,因为我们发现这个问题有点困难。)

相关问题