React native 使用react本机滚动条时Jest失败

React native 使用react本机滚动条时Jest失败,react-native,jestjs,react-navigation,React Native,Jestjs,React Navigation,例如,从react navigation导入平面列表时,我的测试失败,如果我从react native导入平面列表,它将正常工作。我的组件如下所示: import React from 'react'; import { Text, View } from 'react-native'; import { FlatList } from 'react-navigation'; const renderItem = ({ item }) => ( <View> &l

例如,从react navigation导入平面列表时,我的测试失败,如果我从react native导入平面列表,它将正常工作。我的组件如下所示:

import React from 'react';
import { Text, View } from 'react-native';
import { FlatList } from 'react-navigation';

const renderItem = ({ item }) => (
  <View>
    <Text>{item}</Text>
  </View>
);

const MyList = () => (
  <FlatList data={['a', 'b', 'c']} renderItem={renderItem} />
);

export default MyList;
import React from 'react';
import renderer from 'react-test-renderer';

import MyList from '../MyList';

describe('MyList component', () => {
  it('renders correctly', () => {
    const component = renderer.create(<MyList />);
    const tree = component.toJSON();
    expect(tree).toMatchSnapshot();
  });
});
从“React”导入React;
从“react native”导入{Text,View};
从“反应导航”导入{FlatList};
常量renderItem=({item})=>(
{item}
);
常量MyList=()=>(
);
导出默认MyList;
我的测试是这样的:

import React from 'react';
import { Text, View } from 'react-native';
import { FlatList } from 'react-navigation';

const renderItem = ({ item }) => (
  <View>
    <Text>{item}</Text>
  </View>
);

const MyList = () => (
  <FlatList data={['a', 'b', 'c']} renderItem={renderItem} />
);

export default MyList;
import React from 'react';
import renderer from 'react-test-renderer';

import MyList from '../MyList';

describe('MyList component', () => {
  it('renders correctly', () => {
    const component = renderer.create(<MyList />);
    const tree = component.toJSON();
    expect(tree).toMatchSnapshot();
  });
});
从“React”导入React;
从“反应测试渲染器”导入渲染器;
从“../MyList”导入MyList;
描述('MyList component',()=>{
它('正确渲染',()=>{
const component=renderer.create();
const tree=component.toJSON();
expect(tree.toMatchSnapshot();
});
});
我收到的错误消息如下:

我通过以下方式模拟滚动条解决了这个问题:

jest.mock('react-navigation', () => ({
  FlatList: 'FlatList',
}));
如果同时使用SectionList和/或ScrollView,则可以使用相同的方式添加它们:

jest.mock('react-navigation', () => ({
  ScrollView: 'ScrollView',
  SectionList: 'SectionList',
}));