0
我正在使用QUnit并试图测试滚动事件是否被修改。简体源例子如下:QUnit测试前的滚动窗口
$(window).on("scroll.singleJob",function(e) {
if($(window).scrollTop()>10) mycompany.somevar=10;
});
我QUnit的测试情况如下:
test("should attach panel once window scrolled down past certain point", function() {
$(window).scrollTop(1000);
ok(mycompany.somevar==10,"lozenges panel is sticky");
});
现在,我认为,窗口应该滚动,试运行和mycompany.somevar
设置为10
。问题是$(window).scrollTop(1000);
不做任何事情,并且代码随着窗口不滚动而运行。我也试过QUnit.config.scrolltop = false;
但没有运气。 所以我的问题是如何滚动夹具窗口,以便测试将在窗口滚动时运行?
你有没有解决过这个问题?在单元测试期间,我没有收到滚动事件。我试过手动调度它,但那也没有奏效。 – BrettJ
@BrettJ我认为你只需在$(window).scrollTop(..)调用后同步调用回调。否则回调调用放入队列并在当前线程完成后执行。看看这个,我希望这会帮助你http://spirytoos.blogspot.com.au/2014/02/testing-windowscroll-with-qunitjasmine.html – spirytus