6
votes

Comment tester une montre angularjs à l'aide de la fonction debond avec Jasmine

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. xxx pré>

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> xxx pré>

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();
});


0 commentaires

3 Réponses :


4
votes

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 xxx

et la spécification passera comme prévu.


0 commentaires

-1
votes

Utilisation du spyon pour remplacer le _.debounce, vérifiez ce lien. http://gotoanswer.stanford.edu/?q = Jasmine + Test + fait + + voir + Angularjs + Module


0 commentaires

1
votes

J'ai utilisé ceci: xxx

espère qu'il aide


0 commentaires