Ферментные тесты слушателей событий в компоненте React - PullRequest
0 голосов
/ 11 сентября 2018

Это продолжение предыдущего вопроса, который я задал, Прослушиватели событий и ссылки в React 16 .Я пытаюсь реализовать тест, чтобы убедиться, что событие resize правильно прослушивается и обрабатывается с помощью функции updateWidth в моем компоненте.У меня есть следующий тест:

  it(`should always listen to 'resize' event and handle it with 'updateWidth'`, () => {
    const map = {};
    window.addEventListener = jest.fn((event, callback) => {
      map[event] = callback;
    });

    const wrapper = mount(<Footer {...props} />);

    // simulate event
    map.resize();

    expect(wrapper.updateWidth).toHaveBeenCalled();
  });

, но когда я его запускаю, я получаю следующую ошибку:

expect(jest.fn())[.not].toHaveBeenCalled()

jest.fn() value must be a mock function or spy.
Received: undefined

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 11 сентября 2018

Я не уверен, что такое props объект, но если он включает метод updateWidth, то вам нужно expect(wrapper.props().updateWidth).toHaveBeenCalled(); или просто expect(props.updateWidth).toHaveBeenCalled();

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