如何从文档中提取 QUnit 结果

How to extract QUnit results from the document

提问人:Charles Anderson 提问时间:2/4/2010 更新时间:12/13/2011 访问量:669

问:

当 QUnit 将测试结果详细信息添加到您的 HTML 文档时,它会周到地将已通过、通过和失败的测试数量包装在 span 元素中,每个元素都有自己的类,以便您以编程方式恢复这三个数字。但是,即使我可以看到完成的 HTML 中的跨度,当我使用

jQuery('span.failed');   // For example

它们在 onload 事件期间不存在,尽管它们用于 onunload 事件。我也不能在 QUnit test() 调用后立即获取它们。

我做错了什么?

JavaScript的 jQuery的 单元测试 Qunit

评论


答:

2赞 machineghost 2/4/2010 #1

Javascript 计时可能有点棘手。而不是做:

test();
yourMethod();

您可能想尝试执行以下操作:

test();
window.setTimeout(yourMethod, 1000);

根据问题的确切原因,您甚至可以逃脱 1 而不是 1000(但我认为 1 秒在任何情况下都不是那么可怕)。

评论

0赞 Charles Anderson 2/4/2010
那修好了!我的浏览器/网页的截止点似乎是大约 60 毫秒,所以为了安全起见,我会坚持使用 100 毫秒。TVM。
3赞 Robert Prosenc 2/8/2010 #2

QUnit 提供了一个回调方法,您需要覆盖该方法:QUnit.done(failures, total)

当最后一个测试完成时调用它,并获取失败的测试数和测试总数。 所以你只需定义

QUnit.done = function(failures, total) {
   // do whatever here
}

就是这样。

评论

0赞 Charles Anderson 2/10/2010
一个更干净的解决方案!谢谢。
1赞 Nemo157 2/15/2013
注意:传递给 done 回调的参数已更改,最新详情请参见 api.qunitjs.com/QUnit.done