Мне все труднее моделировать реальные пользовательские события с помощью jQuery или триггерных функций собственных элементов. Например, если у вас есть текстовый ввод и вы не хотите, чтобы пользователь мог добавлять символы, вы можете вызвать e.preventDefault ()
с нормализованным jQuery объектом события на событие keydown
. Однако невозможно программно проверить этот тестовый сценарий.
Следующий тест проходит даже без вызова preventDefault
, потому что триггер нажатия клавиши jQuery не является «реальным» событием.
input.val('test').trigger(jQuery.Event({
which: 68
});
expect(input).toHaveValue('test');
Без правильный код, этот тест должен завершиться неудачно, потому что входные данные должны иметь значение 'testd' (68 - это код символа для 'd').
Кто-нибудь знает какие-либо методы или библиотеки для моделирования реального события пользовательского интерфейса браузера?