我正在使用React Native(版本0.59.10)构建一个项目。每当我运行测试(使用Jest)时,都会收到以下警告:
console.warn node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js:248
Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. More info: https://github.com/facebook/react-native/issues/11094#issuecomment-263240420
这似乎是由于在Animated
中使用了TouchableOpacity
,而Button
又从'react-native-elements'中使用了。
使用Xcode查看我的项目,我可以看到RCNativeAnimation
项目在那里:
我检查了引用的链接:https://github.com/facebook/react-native/issues/11094#issuecomment-263240420,但这已经很老了,并且引用了React Native和Xcode的非常老的版本。
我猜测该警告与无法从测试中访问的本机RCNativeAnimation
模块有关,但是我对如何在测试上下文中“删除useNativeDriver
”感到困惑。显然,在真实应用中,我想确保使用的是本地动画库,但是在单元测试中,我不在乎。
消除此警告的推荐方法是什么?
答案 0 :(得分:0)
将jest.mock('NativeAnimatedHelper');
添加到您的测试文件中
答案 1 :(得分:0)
将jest.mock更改为:
jest.mock('react-native/Libraries/Animated/src/NativeAnimatedHelper');