我在QUnit中定义了几个测试用例。最后一个测试用例使用 window.open 函数在新窗口中打开一个特定的URL,并将新打开页面的body标签的html内容附加到当前页面(运行测试的页面) )身体标签。 此外,我需要在执行所有其他测试用例的最后执行该测试用例。我可以通过将属性 QUnit.config.reorder 设置为 false 来完成此操作。
问题在于我需要等到新页面加载到新窗口中,然后再复制body html(因为页面加载需要时间)。为此,我使用 setTimeout 来获取body标签的html内容,比如3000ms,但同时QUnit未通过测试用例,因为断言存在于setTimeOut处理函数中。 / p>
答案 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)