我在 QUnit 中定义了几个测试用例。最后一个测试用例使用window.open函数在新窗口中打开一个特定的 URL,并将新打开的页面的 body 标记的 html 内容附加到当前页面的(正在运行测试的)body 标记。此外,我需要在所有其他测试用例执行的最后执行该测试用例。我可以通过将属性QUnit.config.reorder设置为false来做到这一点。
问题在于我需要等到新页面在新窗口中加载,然后再复制正文 html(因为页面加载需要时间)。为此,我使用setTimeout在 3000 毫秒后获取 body 标记的 html 内容,但同时 QUnit 未能通过测试用例,因为断言存在于 setTimeOut 处理函数中。