У меня есть собственный компонент реагирования с подкомпонентом ScrollView
. Я хочу знать, был ли метод подкомпонента действительно и успешно вызван без исключения.
Я уже пытался использовать метод mount
для тестирования моего компонента, но он все еще возвращает фиктивный метод для подкомпонента.
Мой компонент выглядит так:
class CustomModal extends React.PureComponent<Props, State> {
scrollTo = (point: any) => {
if (this.scrollViewRef) {
this.scrollViewRef.scrollTo(point);
}
};
setScrollViewRef = (ref: any) => {
this.scrollViewRef = ref;
};
render() {
return (
<Modal>
<View>
<ScrollView
ref={this.setScrollViewRef}>
{children}
</ScrollView>
</View>
</Modal>
)
}
}
И мой тест:
describe('when rendering the ScrollView', () => {
beforeEach(() => {
component = mount(
<CustomModal></CustomModal>
);
});
it('calls scrollTo successfully', () => {
expect(() => {
component.instance().scrollTo(10);
}).not.toThrow();
});
});
Когда я фактически запускаю тест, он на самом деле не вызывает метод scrollTo
компонента ScrollView
, а вместо этого является ложным методом. Как мне на самом деле проверить, используя jest, что метод библиотеки был успешно вызван и не вылетел?