Проверьте, был ли успешно вызван субкомпонентный метод - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть собственный компонент реагирования с подкомпонентом 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, что метод библиотеки был успешно вызван и не вылетел?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...