Жасмин, JQuery UI addClass Тестовая задача - PullRequest
2 голосов
/ 15 июня 2011

Я пытаюсь протестировать простейший случай addClass с длительностью (используя jQuery UI и Jasmine).

Вот тест, который не проходит:

it("should use jquery ui", function() {
  runs(function() {
    expect(el.hasClass("fdsa")).toBeFalsy();
    el.addClass("fdsa", 1000);
    expect(el.hasClass("fdsa")).toBeFalsy();// this should not be failing, but it is
  });

  waits(1000);

  runs(function() {
    expect(el.hasClass("fdsa")).toBeTruthy();
  });
});

Я ожидаю, что у него не будет класса до 1000 миллисекунд.Когда я проверяю это из консоли браузера, он ведет себя следующим образом.

Это проверка работоспособности, которую я использовал (проверено в окне браузера Jasmine).

el = $($("div")[0]);
el.addClass("qwer", 1000);
console.log(el.hasClass("qwer")); // output is "false"
setTimeout( function(){
  console.log(el.hasClass("qwer")); // output is "true"
}, 1001);

И это работает всегда.WTF?

1 Ответ

1 голос
/ 19 января 2013

Я потратил время на настройку скрипки для нее: http://jsfiddle.net/ahus1/pZGdP/

Я «изобрел» то, что было необходимо, чтобы оно заработало, как beforeEach. Я не знаю, какие версии вы использовали, но в этом примере я использовал последние доступные версии.

Я заметил, что это только начало работать, когда я действительно добавил правильный класс в таблицу стилей. Когда в CSS нет класса .fdsa, перехода не происходит, и тест не пройден.

Может быть, скрипка решит это за тебя. Пожалуйста, посмотрите.

С наилучшими пожеланиями, Александр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...