首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用Jest测试React Native时模拟LayoutAnimation

如何在使用Jest测试React Native时模拟LayoutAnimation
EN

Stack Overflow用户
提问于 2020-01-24 20:17:47
回答 1查看 953关注 0票数 2

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

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

代码语言:javascript
复制
const handleToggleFilters = () => {
  LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
  setPostFiltersActive(!postFiltersActive);
};

但是,在测试我的组件时,我得到了以下错误

代码语言:javascript
复制
    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库才能正常工作吗?

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

EN

回答 1

Stack Overflow用户

发布于 2020-01-24 20:26:08

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

代码语言:javascript
复制
// Libraries/Components/Keyboard/__tests__/Keyboard-test.js

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

所以在我的setup.js文件中,我简单地做了

代码语言:javascript
复制
jest.mock(
  '../node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js',
);

我的测试也通过了。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59896265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档