QUnit有许多回调函数,例如:
-
QUnit.done()
-
QUnit.moduleDone()
-
QUnit.testDone()
问题是QUnit.done()
不按预期工作。它实际上在每次测试后触发。这是预期行为吗?
一旦页面加载(使用jQuery),我将所有测试注册到QUnit中,如下所示,因为它们(不幸的是)依赖于首先加载的应用程序。并且它们被拆分到多个处理程序中,因此测试可以放在不同的文件中。
$(function(){
QUnit.module( "Module 1" );
QUnit.test("Test 1", function( assert ){
assert.ok(true);
});
});
});
$(function(){
QUnit.module( "Module 2" );
QUnit.test("Test 2", function( assert ){
assert.ok(true);
});
});
});
这是done()
在每次测试后被调用的原因吗?除了将所有测试放在一个文件中之外,还有其他方法可以解决这个问题吗?
我在一个类似的问题中找到了答案。
诀窍是设置QUnit.config.autostart = false
,然后一旦加载了所有测试并加载了应用程序,就开始测试。