Моделирование пользовательского ввода для TDD JavaScript

Мне все труднее моделировать реальные пользовательские события с помощью jQuery или триггерных функций собственных элементов. Например, если у вас есть текстовый ввод и вы не хотите, чтобы пользователь мог добавлять символы, вы можете вызвать e.preventDefault () с нормализованным jQuery объектом события на событие keydown . Однако невозможно программно проверить этот тестовый сценарий.

Следующий тест проходит даже без вызова preventDefault , потому что триггер нажатия клавиши jQuery не является «реальным» событием.

input.val('test').trigger(jQuery.Event({
    which: 68
});
expect(input).toHaveValue('test');

Без правильный код, этот тест должен завершиться неудачно, потому что входные данные должны иметь значение 'testd' (68 - это код символа для 'd').

Кто-нибудь знает какие-либо методы или библиотеки для моделирования реального события пользовательского интерфейса браузера?

6
задан Matty F 21 July 2011 в 02:24
поделиться