2014-02-25 59 views
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;但沒有運氣。 所以我的問題是如何滾動夾具窗口,以便測試將在窗口滾動時運行?

+0

你有沒有解決過這個問題?在單元測試期間,我沒有收到滾動事件。我試過手動調度它,但那也沒有奏效。 – BrettJ

+0

@BrettJ我認爲你只需在$(window).scrollTop(..)調用後同步調用回調。否則回調調用放入隊列並在當前線程完成後執行。看看這個,我希望這會幫助你http://spirytoos.blogspot.com.au/2014/02/testing-windowscroll-with-qunitjasmine.html – spirytus

回答