gpt4 book ai didi

react-native - "TypeError"尝试在 Jest 测试中呈现 react-native-reanimated 节点

转载 作者:行者123 更新时间:2023-12-05 01:38:00 29 4
gpt4 key购买 nike

当尝试在 Jest 中呈现我的应用程序以进行一些集成测试时,我收到以下错误:

    TypeError: Cannot read property 'createNode' of undefined

at AnimatedParam.createNode [as __nativeInitialize] (node_modules/react-native-reanimated/src/core/AnimatedNode.js:126:24)
at AnimatedParam.__nativeInitialize [as __attach] (node_modules/react-native-reanimated/src/core/AnimatedNode.js:71:10)
at new __attach (node_modules/react-native-reanimated/src/core/AnimatedParam.js:11:10)
at createAnimatedParam (node_modules/react-native-reanimated/src/core/AnimatedParam.js:71:10)
at createAnimatedFunction (node_modules/react-native-reanimated/src/core/AnimatedFunction.js:38:17)
at Object.<anonymous> (node_modules/react-native-reanimated/src/derived/interpolate.js:17:39)

它在 react-native-reanimated 中提示的代码如下所示:

  __nativeInitialize() {
if (!this.__initialized) {
ReanimatedModule.createNode(this.__nodeID, { ...this.__nodeConfig });
this.__initialized = true;
}
}

ReanimatedModulereact-native 库中 NativeModule 的类型别名。除此之外,我没有找到任何有助于解决此问题的有用信息。

这里特别奇怪的是,我没有在我的代码库中直接使用 react-native-reanimated,而且我能找到的唯一使用它的库组件没有在据我所知,正在测试组件。

我无法以任何合理的方式精简我的代码以重现此问题,并且有问题的代码受公司版权保护,因此我无法共享存储库。我将继续尝试在一个小示例中重现该错误,但我想提出这个问题,以防有人对此问题有任何经验。

最佳答案

我也遇到了这个。

我最终需要用这样的代码来模拟整个重新激活的模块:

jest.mock('react-native-reanimated', () => {
const View = require('react-native').View;

return {
Value: jest.fn(),
event: jest.fn(),
add: jest.fn(),
eq: jest.fn(),
set: jest.fn(),
cond: jest.fn(),
interpolate: jest.fn(),
View: View,
Extrapolate: { CLAMP: jest.fn() },
Transition: {
Together: 'Together',
Out: 'Out',
In: 'In',
},
};
});

我在 /spec_config/jest.js 中有这个文件,在我的 jest.config.js 中使用以下行加载(连同其他一些全局模拟)文件:setupFilesAfterEnv: ['./spec_config/jest.js'],

对我来说似乎是一团糟,但我想这就是这个世界的方式。 (h/t 这个 GitHub 问题:https://github.com/software-mansion/react-native-reanimated/issues/205)

关于react-native - "TypeError"尝试在 Jest 测试中呈现 react-native-reanimated 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60227269/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com