Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在另一个组件中模拟react本机组件?_Javascript_Reactjs_React Native_Unit Testing_Jestjs - Fatal编程技术网

Javascript 如何在另一个组件中模拟react本机组件?

Javascript 如何在另一个组件中模拟react本机组件?,javascript,reactjs,react-native,unit-testing,jestjs,Javascript,Reactjs,React Native,Unit Testing,Jestjs,我有一个从@react native community/datetimepicker导入的组件,这个组件呈现一个选择器,用户在其中选择日期。问题是,我无法使用getByTestId或任何其他查询选择选择器,如果选择了,就无法模拟滚动并选择日期。到目前为止,我已尝试在测试中使用简单的输入替换选择器,如下所示: const mockDatePicker = () => <Input testID='mockPicker' />; jest.mock('@react-native

我有一个从@react native community/datetimepicker导入的组件,这个组件呈现一个选择器,用户在其中选择日期。问题是,我无法使用getByTestId或任何其他查询选择选择器,如果选择了,就无法模拟滚动并选择日期。到目前为止,我已尝试在测试中使用简单的输入替换选择器,如下所示:

const mockDatePicker = () => <Input testID='mockPicker' />;

jest.mock('@react-native-community/datetimepicker', () => mockDatePicker);
找不到testID的任何实例

我曾试图窥视该组件,但它错误地说它不是一个函数

对于使用标准字段的其他输入,我可以通过testID选择它们,并在测试中将文本更改为受控值

const lastNameInput = getByLabelText('Last Name');
await fireEvent.changeText(lastNameInput, lastName);

有没有办法模拟渲染组件,以便控制dateTimePicker返回的内容

const lastNameInput = getByLabelText('Last Name');
await fireEvent.changeText(lastNameInput, lastName);