Ich habe einen kleinen Test (Jasmine + Jasmine-jquery) um zu prüfen, ob ein btn angeklickt wurde und zu testen, ob seine Callbacks korrekt waren Ausgeführte, aber ich einige seltsame Fehler bin vor:jQuery Jasmine Klickereignis: Erwartetes Ereignis [Objekt Objekt] wurde auf [Objekt Objekt] getriggert
Hier ist der Test:
it("Check if pagination arrows/btns had been clicked", function() {
// beforeEach to spy on callbacks:
beforeEach(function() {
spyOn(comp, "_pageUp");
});
var arrowUp = $('.arrow-up').eq(0);
var spyEvent = spyOnEvent(arrowUp, 'click');
// Trigger the event:
$(arrowUp).click();
expect('click').toHaveBeenTriggeredOn(arrowUp);
expect(spyEvent).toHaveBeenTriggered();
// Check if the click callback was correctly called:
expect(comp._pageUp).toHaveBeenCalled();
});
die comp
Variable ist ein JS-Objekt. Was ich will ist, wenn die Schaltfläche $('.arrow-up').eq(0);
geklickt wird, wird die Methode _pageUp aufgerufen. Danach gibt es die Tests zu diesen Methoden (comp._pageUp()
und comp._pageDown()
).
Die Fehlermeldung, die ich habe, ist:
Expected event [object Object] to have been triggered on [object Object]
Auch eine letzte Erinnerung: Ich bin ziemlich sicher, dass das Gerät geladen korrigiert wird und der Test nach dem window.onload Ereignis ausgeführt wird.
Könnte jemand mir helfen zu verstehen, was mache ich falsch?
Danke, Jungs.