jQueryまたはネイティブ要素トリガー関数を使用して実際のユーザーイベントをシミュレートすることがますます困難になっています。たとえば、テキスト入力があり、ユーザーが文字を追加できないようにする場合はe.preventDefault()
、イベントでjQueryで正規化されたイベントオブジェクトを使用して呼び出すことができますkeydown
。ただし、このテストシナリオをプログラムで検証する方法はありません。
次のテストはpreventDefault
、jQueryキーダウントリガーが「実際の」イベントではないため、を呼び出さなくても合格します。
input.val('test').trigger(jQuery.Event({
which: 68
});
expect(input).toHaveValue('test');
正しいコードがないと、入力の値が「testd」(68は「d」の文字コード)であるため、このテストは失敗するはずです。
実際のブラウザUIイベントをシミュレートするためのメソッドやライブラリを知っている人はいますか?