如何使QUnit等待一定的时间间隔?

时间:2012-10-29 12:50:11

标签: javascript settimeout qunit

我在QUnit中定义了几个测试用例。最后一个测试用例使用 window.open 函数在新窗口中打开一个特定的URL,并将新打开页面的body标签的html内容附加到当前页面(运行测试的页面) )身体标签。 此外,我需要在执行所有其他测试用例的最后执行该测试用例。我可以通过将属性 QUnit.config.reorder 设置为 false 来完成此操作。

问题在于我需要等到新页面加载到新窗口中,然后再复制body html(因为页面加载需要时间)。为此,我使用 setTimeout 来获取body标签的html内容,比如3000ms,但同时QUnit未通过测试用例,因为断言存在于setTimeOut处理函数中。 / p>

2 个答案:

答案 0 :(得分:4)

asyncTest('my test', function() {

    // some prep. code goes here (may go here)

    setTimeout(function() {
        start(); // this would tell QUnit to start the test

        // test code goes here

    }, 3000);
});

答案 1 :(得分:2)