无法使用 react-native 运行开玩笑:类型错误:无法解构属性"instrument"为"undefined"或"null"



我将一个react native项目从0.57.8升级到0.63.4

在升级之前,我的玩笑测试通过了。现在我不能运行它们,即使我把它们都拿出来,只把这个放在foo.test.js:

describe("helpers", () => {
it("passes", () => expect(1).toEqual(1));
});

package.json相关部分:

{
"name": "x",
"version": "8.2.0",
"private": true,
"scripts": {
...
"test": "jest  ./src/",
},
"jest": {
"preset": "react-native"
},
"dependencies": {
"@babel/runtime": "^7.5.5",
...
"babel-jest": "^27.0.6",
...
"jest": "^27.0.6",
"jest-cli": "^27.0.6",
"react-native": "0.63.4",
"react-native-cli": "^2.0.1",
...
},
"devDependencies": {
"@babel/core": "^7.8.4",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/runtime": "^7.8.4",
...
},
}

当我运行测试时:

$ npm test
> jest  ./src/
FAIL  src/lib/foo.test.js
● Test suite failed to run
TypeError: Cannot destructure property `instrument` of 'undefined' or 'null'.
at Object.getCacheKey (node_modules/fbjs-scripts/jest/createCacheKeyFunction.js:35:34)
at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:280:41)
at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:351:27)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:588:32)
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:815:19)
Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.369 s
Ran all test suites matching /./src//i.

请看这里,关于这个问题的PR,我认为它会为你解决问题。

最新更新