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

Javascript 如何检测QUnit模块内的所有测试何时完成?,javascript,jquery,unit-testing,qunit,regression-testing,Javascript,Jquery,Unit Testing,Qunit,Regression Testing,为了测试顺序以及防止测试中断 此外,是否有办法中途停止模块或测试并重置QUnit(包括所有历史记录结果) moduleOne是我唯一尝试测试模块完整性的东西。但它适用于模块内的每一项测试,而不仅仅是整个模块。您确定QUnit.moduleDone吗?对我来说,它在模块末尾调用一次;您所描述的内容听起来像QUnit.testDone 至于停止QUnit并将其重置,您希望网页在之后会是什么样子?您确定QUnit.moduleOne吗?对我来说,它在模块末尾调用一次;您所描述的内容听起来像QUnit.

为了测试顺序以及防止测试中断

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


moduleOne是我唯一尝试测试模块完整性的东西。但它适用于模块内的每一项测试,而不仅仅是整个模块。

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


至于停止QUnit并将其重置,您希望网页在之后会是什么样子?

您确定QUnit.moduleOne吗?对我来说,它在模块末尾调用一次;您所描述的内容听起来像QUnit.testDone


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

这取决于声明测试时QUnit是否正在运行。如果停止它,声明所有测试,然后启动它,
moduleDone
回调将在模块末尾触发一次。如果它在声明测试时正在运行,那么测试将在声明后立即运行,从而导致模块仅包含迄今为止已声明的测试,并且它相信模块将在每个测试完成后完成

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


因此,如果您使用这些回调中的任何一个,您确实需要在头部同步加载所有测试,以便在加载事件中QUnit AUTOSTART时它们存在,或者设置
quonit.config.autostart=false
并且在所有异步加载的脚本完成其测试的声明之前,不要调用
quonit.start

这取决于声明测试时quonit是否正在运行。如果停止它,声明所有测试,然后启动它,
moduleDone
回调将在模块末尾触发一次。如果它在声明测试时正在运行,那么测试将在声明后立即运行,从而导致模块仅包含迄今为止已声明的测试,并且它相信模块将在每个测试完成后完成

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

因此,如果您正在使用这些回调中的任何一个,您确实需要在head中同步加载所有测试,以便在加载事件中QUnit autostart时它们存在,或者设置
QUnit.config.autostart=false
并且在所有异步加载的脚本完成其测试声明之前不调用
QUnit.start