如何检测QUnit模块中的所有测试何时完成?

时间:2012-01-12 04:13:59

标签: javascript jquery unit-testing qunit regression-testing

用于测试排序以及防止测试被中断。

此外,有没有办法停止模块或中途测试并重置QUnit(包括所有历史记录结果)?

QUnit.moduleDone是我尝试测试模块完成的唯一方法。但它适用于模块中的每个单独测试,而不仅仅是整个模块。

2 个答案:

答案 0 :(得分:1)

这取决于声明测试时QUnit是否正在运行。如果你停止它,声明所有测试,然后启动它,moduleDone回调将在模块结束时触发一次。如果它在声明测试时正在运行,则测试将在声明后立即运行,导致模块仅包含到目前为止已声明的测试,并且它认为在每次测试完成后模块已完成。

done回调会出现同样的问题,如果在声明测试时QUnit正在运行,则会持续触发。

因此,如果您正在使用这些回调中的任何一个,您确实需要在头部同步加载所有测试,因此当QUnit在加载事件中自动启动时它们存在,或者设置QUnit.config.autostart = false而不是调用{{1直到所有异步加载的脚本都完成了声明他们的测试。

答案 1 :(得分:0)

您确定QUnit.moduleDone吗?对我来说,它在模块结束时调用一次;你所描述的内容听起来像是QUnit.testDone。

至于停止QUnit并重置它,之后网页看起来会是什么样子?