我可以用jest测试react-native中的动画组件吗?

9njqaruj  于 2023-03-31  发布在  React
关注(0)|答案(1)|浏览(159)

我想知道我可以用jest测试react-native中的动画组件。
我试着测试下面的组件...

( UIComponent... )
<Animated.FlatList
        ref={ref}
        data={events}
        onScroll={onScroll}
        ... and so on other attribute ...
/>

( test code... )
describe('test', () => {
  it('test', () => {
    const mockedClient:MockApolloClient = createMockClient();
    const {debug} = render(
      <ApolloProvider>
        <UIComponent />
      </ApolloProvider>
    )
    debug();
  })
})

但是,有错误在我的测试代码与'PrettyFormatPluginError:无效字符串长度RangeError:无效的字符串长度'。我不知道为什么会出现此错误。
为了解决这个问题,我已经删除了字符串,'动画'在<Animated.FlatList>.(只是)所以,这个测试代码已经成功!它显示了我的debug()的结果.
如何测试此动画组件?

koaltpgm

koaltpgm1#

你必须像这样模拟FlatList

// test.setup.js
import RN from 'react-native';

jest
  .spyOn(RN.Animated, 'FlatList', 'get')
  .mockImplementation(() => RN.FlatList);

参考:https://github.com/satya164/react-native-tab-view/issues/1104#issuecomment-932552609

相关问题