Как добавить модульный тест для события keydown окна в ReactJS с ферментом - PullRequest
0 голосов
/ 06 мая 2018

У меня есть следующий код в моем компоненте React. При нажатии клавиши выхода должна быть вызвана функция поддержки расфокусировки. Как мне это проверить? Я использую шутку и фермент.

reactjs enzyme test

Спасибо за помощь

1 Ответ

0 голосов
/ 06 мая 2018

Для большего контроля над тестированием, я бы рекомендовал передать логику событий mousedown в качестве функции поддержки.

Затем, после того, как вы смонтируете компонент в своих спецификациях, вы можете проверить как -

test('should toggle focus', () => {
  const map = {};
  window.addEventListener = jest.genMockFn().mockImpl((event, cb) => {
    map[event] = cb;
  });

  const component = mount(<SomeComponent />);
  map.keyDown({ keyCode: 27 });
  expect(props.unfocus).to.have.been.called;
});

Полезные ссылки -

Имитация события KeyDown

Имитация событий в окне

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