gpt4 book ai didi

javascript - 使用 Jest 测试 React Native 时如何模拟 LayoutAnimation

转载 作者:行者123 更新时间:2023-11-28 03:13:19 25 4
gpt4 key购买 nike

我正在使用 Jest 和 react-native-testing-library测试我的组件。

在我的一个组件中,我有以下代码:

const handleToggleFilters = () => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
setPostFiltersActive(!postFiltersActive);
};

但是,在测试我的组件时,出现以下错误

    TypeError: require(...).configureNextLayoutAnimation is not a function

82 |
83 | const handleToggleFilters = () => {
> 84 | LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
| ^
85 | setPostFiltersActive(!postFiltersActive);
86 | };
87 |

我将 jest.mock('react-native') 添加到我的 setup.js 文件中,但它随后开始通过我的测试套件的其余部分提示其他丢失的实体......我有吗模拟整个 react-native 库才能正常工作?

解决这个问题的最佳方法是什么?

最佳答案

在 github 上查看 react-native 的某些测试后,看起来他们只是简单地模拟了文件本身。

// Libraries/Components/Keyboard/__tests__/Keyboard-test.js

jest.mock('../../../LayoutAnimation/LayoutAnimation');

所以在我的 setup.js 文件中我只是做了

jest.mock(
'../node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js',
);

我的测试通过了。

关于javascript - 使用 Jest 测试 React Native 时如何模拟 LayoutAnimation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59896265/

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