как провести модульное тестирование компонента, заключенного в react-hotKeys - PullRequest
0 голосов
/ 06 мая 2020

У меня есть такой компонент, как

<Hotkeys id="hot-keys-id" keyMap={KEY_MAP} handlers={this.handlers}>
<MyComponent/>
<Hotkeys/>

Я пытаюсь имитировать событие onKeyDown, это не работает

const someRandom = jest.fn();
const component = mount(<MyComponent onKeyDown={someRandom} />);
component.find('#hot-keys-id').at(0).simulate('focus');
component.find('#hot-keys-id').at(0).simulate('keyDown', { keyCode: 81 });
expect(someRandom).toBeCalled();

1 Ответ

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

Вам следует взглянуть на тесты для этой библиотеки, поскольку они определяют множество методов, которые они используют для проверки поведения горячих клавиш. Большинство из них, как я обнаружил, используют вспомогательный пакет с использованием .simulate('keyPress', {}) и .simulate('keyUp', {}), поэтому я подозреваю, что они слушают именно это.

https://github.com/greena13/react-hotkeys/tree/master/test

и библиотека поддержки

https://github.com/greena13/react-hotkeys/blob/9974edc258e27f635bc303df5539eceb79bc55be/test/support/FocusableElement.js#L6

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