Kar*_*lor 2 javascript unit-testing jestjs react-native
我正在使用 Jest 和react-native-testing-library来测试我的组件。
在我的一个组件中,我有以下代码:
const handleToggleFilters = () => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
setPostFiltersActive(!postFiltersActive);
};
Run Code Online (Sandbox Code Playgroud)
但是,在测试我的组件时,出现以下错误
TypeError: require(...).configureNextLayoutAnimation is not a function
82 |
83 | const handleToggleFilters = () => {
> 84 | LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
| ^
85 | setPostFiltersActive(!postFiltersActive);
86 | };
87 |
Run Code Online (Sandbox Code Playgroud)
我添加jest.mock('react-native')到我的 setup.js 文件中,但它开始抱怨我的测试套件的其余部分缺少其他实体......我是否必须模拟整个react-native库才能使其工作?
解决这个问题的最佳方法是什么?
在react-nativegithub 上查看了某些测试后,看起来他们自己简单地模拟了文件。
// Libraries/Components/Keyboard/__tests__/Keyboard-test.js
jest.mock('../../../LayoutAnimation/LayoutAnimation');
Run Code Online (Sandbox Code Playgroud)
所以在我的setup.js文件中我只是做了
jest.mock(
'../node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js',
);
Run Code Online (Sandbox Code Playgroud)
我的测试通过了。
| 归档时间: |
|
| 查看次数: |
826 次 |
| 最近记录: |