Это мой первый вопрос к Stack Overflow, и Жасмин для меня довольно новичок, поэтому я надеюсь, что у меня все в порядке.
У меня есть тест Jasmine, в котором я пытаюсь установить положение прокрутки моей страницы на определенное значение. Фактический код довольно сложен, но мне удалось сделать более простой пример неудачного теста:
it("should set scrollTop to equal 100", function () {
setFixtures("<div id='page' style='height: 1000px;'>Page content</div>");
spyOn($.fn, "scrollTop");
$("#page").scrollTop(100);
expect($.fn.scrollTop).toHaveBeenCalledWith(100); // this test passes
expect($("#page").scrollTop()).toEqual(100);
});
Результат: Ожидается, что 0 будет равно 100.
Я установил для scrollTop значение 100 и ожидаю, что в следующей строке будет именно так. Как этот тест проваливается?
Если это имеет значение, я использую Jasmine 1.3.1 с requirejs и jasmine-jquery в качестве расширения.
scrollTop
и завершать. Пожалуйста, рассмотрите возможность использованияcallThrough
илиcallFake
, чтобы знать, что происходит. Еще одна вещь, которую нужно сделать … Вы можете поставитьdebugger
statemanet перед первымexpect
и запустить тест в веб-браузере (пожалуйста, также откройте консоль, чтобы браузер мог пойматьdebugger
) - person Krzysztof Safjanowski   schedule 08.11.2014