Тестировать ключевые события на React.JS с помощью Enzyme

Я пытался использовать ключевые события с тестовой утилитой Enzyme, но безуспешно. я пробовал

combo.find(".searchInput").simulate("keydown", { keyCode: 40 });

и

combo.find(".searchInput").simulate("keydown", { target: { keyCode: 40 } });

но ни один не работает. Кто-нибудь знает правильный синтаксис для имитации ключевых событий с помощью Enzyme?


person darkjoker    schedule 06.06.2016    source источник


Ответы (1)


Возможны две проблемы. Во-первых, вам нужно использовать camelCase «keyDown» вместо «keydown». Во-вторых, вам может потребоваться передать больше данных о коде ключа, который вы проверяете.

combo.find(".searchInput").simulate("keyDown", { target: {
  keyCode: 40,
  which: 40,
  key: "Down Arrow"  // not sure if this is right, you might need to debug to inspect the real value in console
} });
person Matt Huggins    schedule 06.06.2016
comment
Я пробовал что-то подобное, я искал имена ключей в этом списке ссылка но и это не работает - person darkjoker; 06.06.2016
comment
В этом выражении цель не нужна, как здесь stackoverflow.com/a/47639464/3460363 - person Insomniac631; 04.12.2017