【问题标题】:Scrolling window before QUnit testQUnit测试前的滚动窗口
【发布时间】:2014-02-25 04:58:14
【问题描述】:

我正在使用 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 我认为你只需要在 $(window).scrollTop(..) 调用之后同步调用回调。否则回调调用被放入队列并在当前线程完成后执行。看看这个,希望对你有帮助spirytoos.blogspot.com.au/2014/02/…

标签: javascript jquery unit-testing qunit


【解决方案1】:

使用带有两个参数的scrollTo 方法:

window.scrollTo(0,1000)

参考文献

【讨论】:

    猜你喜欢
    • 2014-04-28
    • 1970-01-01
    • 2014-01-28
    • 2016-08-06
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2018-07-26
    • 2019-05-16
    相关资源
    最近更新 更多