web-dev-qa-db-fra.com

Que fait la fonction "it" dans ce code?

J'espère que quelqu'un pourrait m'expliquer ce que "il" fait (est utilisé pour) dans AngularJS ou tout simplement JavaScript (je ne sais pas si c'est spécifique à Angular). Il s'avère que c'est une chose difficile pour Google, étant appelé "ça" et tout. Je l'ai vu utilisé dans les documents AngularJS. Je vais vous donner un exemple de la page ngShow (c'est du code pour cacher/montrer un div contenant un pouce vers le haut ou vers le bas).

var thumbsUp = element(by.css('span.glyphicon-thumbs-up'));
var thumbsDown = element(by.css('span.glyphicon-thumbs-down'));

it('should check ng-show / ng-hide', function() {
  expect(thumbsUp.isDisplayed()).toBeFalsy();
  expect(thumbsDown.isDisplayed()).toBeTruthy();

  element(by.model('checked')).click();

  expect(thumbsUp.isDisplayed()).toBeTruthy();
  expect(thumbsDown.isDisplayed()).toBeFalsy();
});
37
tarrball

Voir le framework de test Jasmine .

La fonction it(...) définit un cas de test (aussi appelé "spec").

describe("A suite", function() {
  it("contains spec with an expectation", function() {
    expect(true).toBe(true);
  });
});

Notez que AngularJS E2E Testing ...

... utilise Jasmine pour sa syntaxe de test.

35
maerics

Donc, "il" fait référence au moment où vous testez votre application, et uniquement lorsque vous testez. Le point de test est que vous pouvez laisser le lanceur de test automatiser un tas de tâches régulières que vos utilisateurs effectueraient normalement, puis valider correctement toutes les réponses/événements de ces tâches. Ce que dit votre code, c'est que votre test "devrait vérifier ng-show/ng-hide" et valider qu'ils fonctionnent correctement. Vous ne le verrez que dans un lanceur de test comme Karma ou Jasmine.

9
Tyler McGinnis