Ich finde es immer schwieriger, tatsächliche Benutzerereignisse mit jQuery oder nativen Element-Trigger-Funktionen zu simulieren. Wenn Sie zum Beispiel eine Texteingabe haben und nicht wollen, dass der Benutzer ein Zeichen hinzufügen kann, können Sie e.preventDefault()
mit dem jQuery-normalisierten Ereignisobjekt auf der keydown
Veranstaltung. Es gibt jedoch keine Möglichkeit, dieses Testszenario programmatisch zu überprüfen.
Der folgende Test wird auch ohne den Aufruf von preventDefault
weil der jQuery Keydown-Trigger kein "echtes" Ereignis ist.
input.val('test').trigger(jQuery.Event({
which: 68
});
expect(input).toHaveValue('test');
Ohne den korrekten Code sollte dieser Test fehlschlagen, da die Eingabe den Wert "testd" haben sollte (68 ist der Zeichencode für "d").
Kennt jemand Methoden oder Bibliotheken zur Simulation von real Browser UI-Ereignisse?