首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Zombie.js验证Qunit的结果

用Zombie.js验证Qunit的结果
EN

Stack Overflow用户
提问于 2012-09-21 08:30:11
回答 1查看 302关注 0票数 2

我正在用Qunit进行测试驱动的开发:当创建一个新的函数时,我为它编写测试,创建函数,重新加载页面,如果所有的测试都通过了,我将继续.虽然这在一开始很好,但经过一段时间之后,它开始成为一个耗时的过程,因为所有的测试都需要几秒钟才能运行,这就是每次刷新浏览器时我都要等待的时间。

为了解决这个问题,我考虑引入Zombie.js来执行无头测试:想法是让Zombie.js不断检查网页(例如$ watch -n1 "node queryTheWebpage.js"),并在编写代码时向me报告Qunits的结果(有时,由于Zombie.js不是“真正的”浏览器,我会打开浏览器并手动检查页面以进行验证)。

到目前为止,这里是我的节点/僵尸代码段的内容:

代码语言:javascript
复制
browser.visit("http://localhost/mywebpage.html", function () {
        var qunit_tests = browser.query('body');
        console.log(qunit_tests.innerHTML);
});

在控制台输出中,我确实看到了Qunit测试容器<ol id="qunit-tests"></ol>,但是它是空的,这意味着当调用visit回调函数时,测试还没有运行。

我试图使用wait函数等待测试运行,但没有成功:

代码语言:javascript
复制
function waitForQunitToEnd(window) {
    var last = window.document.querySelector('selectorOfMyLastTest');
    var first_failed = window.document.querySelector('li.failed');
    return (last || first_failed);
}

browser.visit("http://localhost/mywebpage.html", function () {
    browser.wait(waitForQunitToEnd, function() {
        var qunit_tests = browser.query('body');
        console.log(qunit_tests.innerHTML); // still gives me empty <ol id="qunit-tests"></ol>
    });    
});

我尝试使用waitFor选项(例如,设置为5000ms),但这也没有帮助。

Q1:我想做的是有意义的,还是有一种更简单的方法来做类似的事情?

Q2:你知道如何让Zombie.js等Qunit测试运行吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-21 13:38:07

我不知道它是否对你有帮助,但是看看这个:http://api.qunitjs.com/QUnit.done/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12526889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档