Ich versuche den removeEventListener mit Jasmin zu testen. Ich habeJasmine test removeEventListener
describe('test', function(){
'use strict';
beforeEach(function() {
affix('#test');
method = {
test: function() {
console.log('hi!');
}
}
spyOn(method, 'test');
$selectedElement = $('#test');
selectedElement = $selectedElement[0];
});
it('should remove event listener', function(){
selectedElement.addEventListener('click', method.test);
selectedElement.removeEventListener('click', method.test);
$selectedElement.click();
expect(methods.showLove).not.toHaveBeenCalled();
});
});
Aber dies nicht gelingt. Ich nehme an, das liegt daran, dass ich hier eine anonyme Funktion habe. Gibt es eine Möglichkeit, dies zu beheben, ohne nicht anonyme Funktion zu verwenden?
Wenn ich setzen
function clickMe() {
return 'bla';
}
und Verwendung, die anstelle von method.test
in den Ereignis-Listener der Test erfolgreich ist. Wie benutzt man die in den Methoden definierten Funktionen?
Gibt es eine Möglichkeit, einen Verweis auf diese anonyme Funktion innerhalb des Objekts hinzuzufügen oder zu übergeben?