0
Ich habe eine Backbone-Ansicht mit benutzerdefinierten Ereignissen für keyup
und keydown
Ereignisse.Simulieren und testen Sie ein Tastendruckereignis mit Mocha, Chai, Sinon?
events: {
"keyup .search-box": "changeTextTimer",
"keydown .search-box": "cancelTextTimer"
},
Ich schreibe Unit-Tests zu überprüfen, ob diese Rückrufe werden nach einem keyup oder keydown aufgerufen zu werden. Ich benutze jQuery, um das Schlüsselereignis auszulösen.
it("should call cancelTextTimer", function() {
var searchBox = new SearchBoxView({el: $(HTML),}).render();
var e = $.Event("keydown");
e.which = 65;
searchBox.$(".search-box").trigger(e);
var changeTextTimer = sinon.spy(searchBox, "cancelTextTimer");
_.defer(changeTextTimer.restore);
changeTextTimer.should.have.been.calledOnce;
});
aber ich erhalte eine
AssertionError: expected cancelTextTimer to have been called exactly once, but
it was called 0 times: Got value cancelTextTimer but expected a value undefined undefined
Sie der Einrichtung Ihres Spion, nachdem Sie den Klick ausgelöst haben, was passiert, wenn man es auf die bewegen zweite Zeile in Ihrer Testfunktion? –
@HenrikAndersson das ist Material zu beantworten. –
@HenrikAnderson Hmm es gibt mir immer noch den gleichen Fehler – ElGatoGabe