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

出于测试排序的目的以及防止测试被中断。

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

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

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

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

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

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

至于停止QUnit并重置它,之后想要的网页会是什么样子?