J'ai un contrôleur avec une montre qui utilise la débatte de Lodash pour retarder la filtrage d'une liste de 500 ms. J'essaie d'écrire un test de jasmin qui simule la saisie de mots-clés filtres introuvables suivis de mots-clés trouvés. P> Ma dernière tentative était d'utiliser $ Digest Après avoir attribué une nouvelle valeur aux mots-clés, que je suppose que je suppose, n'a pas fonctionné à cause du débutant. p> donc j'ai essayé d'utiliser $ Timeout, mais cela ne fonctionne pas non plus. P> it('should filter list by reference', function () {
expect(scope.filtered).toContain(item);
scope.filter.keywords = 'rubbish';
$timeout(function() {
expect(scope.filtered).not.toContain(item);
});
scope.$apply();
scope.filter.keywords = 'test';
$timeout(function() {
expect(scope.filtered).toContain(item);
});
scope.$apply();
});
3 Réponses :
C'est une mauvaise approche. Vous devez utiliser un débat spécifique angulaire tel que Ce qui utilise $ Timeout au lieu de Settimeout. De cette façon, vous pouvez faire et la spécification passera comme prévu. P> p>
Utilisation du spyon pour remplacer le _.debounce, vérifiez ce lien. http://gotoanswer.stanford.edu/?q = Jasmine + Test + fait + + voir + Angularjs + Module P>
J'ai utilisé ceci: espère qu'il aide p> p>