Je ne comprends pas pourquoi ce code ne fonctionne pas?
erreur est:
Expected spy addEventListener to have been called with [ 'scroll', <jasmine.any(Function)>, true ] but it was never called.
.
describe('sessionActivity.spec',() => {
beforeEach(module('sessionActivity'));
it('should subscribe', inject(($window, sessionActivity) => {
spyOn($window, 'addEventListener');
sessionActivity.subscribe();
//$window.addEventListener('scroll',() => {}, true);
//$window.addEventListener('click',() => {}, true);
expect($window.addEventListener).toHaveBeenCalledWith('scroll', jasmine.any(Function), true);
expect($window.addEventListener).toHaveBeenCalledWith('click', jasmine.any(Function), true);
}));
});
À l'intérieur d'un sessionActivity.subscribe Je crée deux écouteurs d'événements.
Et aussi si je décommente deux lignes avec //$window.addEventListener tout le test est passé.
Qu'est-ce que je devrais changer ici?
ÉDITÉE:
Le problème est que j'ai utilisé raccourci à l'intérieur sessionActivity.subscribe():
const { addEventListener, removeEventListener } = $window;
addEventListener('scroll', trackActivityWithDebounce, true);
addEventListener('click', trackActivityWithDebounce, true);
quelqu'un peut-il expliquer cela?
S'il vous plaît, fournir tous les codes pertinents. Où est exactement appelé 'addEventListener'? Voir http://stackoverflow.com/help/mcve – estus