Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从文档中提取QUnit结果_Javascript_Jquery_Unit Testing_Qunit - Fatal编程技术网

Javascript 如何从文档中提取QUnit结果

Javascript 如何从文档中提取QUnit结果,javascript,jquery,unit-testing,qunit,Javascript,Jquery,Unit Testing,Qunit,当QUnit将测试结果详细信息添加到HTML文档中时,它会仔细地包装span元素中进行、通过和失败的测试的数量,每个元素都有自己的类,以便以编程方式恢复这三个数字。然而,尽管我可以在完成的HTML中看到跨距,但在使用搜索时却找不到跨距 jQuery('span.failed'); // For example 它们在onload事件期间不存在,尽管它们用于onunload事件。我也不能在QUnit test()调用之后获取它们 我做错了什么?Javascript计时可能有点棘手。而不是做:

当QUnit将测试结果详细信息添加到HTML文档中时,它会仔细地包装span元素中进行、通过和失败的测试的数量,每个元素都有自己的类,以便以编程方式恢复这三个数字。然而,尽管我可以在完成的HTML中看到跨距,但在使用搜索时却找不到跨距

jQuery('span.failed');   // For example
它们在onload事件期间不存在,尽管它们用于onunload事件。我也不能在QUnit test()调用之后获取它们


我做错了什么?

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

test();
yourMethod();
您可能希望尝试执行以下操作:

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

根据问题的具体情况,您甚至可以使用1而不是1000(但我认为1秒在任何情况下都不是那么糟糕)。

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

它在最后一次测试完成时调用,并获取失败测试的数量以及测试的总数。 所以你只需要定义

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

就这样。

这就解决了它!我的浏览器/网页的截止时间似乎是60毫秒左右,因此为了安全起见,我将坚持使用100毫秒。一个更干净的解决方案!谢谢。注意:传递给done回调的参数已更改,有关最新详细信息,请参阅。