【发布时间】:2012-01-12 04:13:59
【问题描述】:
为了测试排序以及防止测试被中断。
另外,有没有什么方法可以中途停止模块或测试并重置 QUnit(包括所有历史结果)?
QUnit.moduleDone 是我尝试测试模块完成的唯一方法。但它适用于模块中的每一个测试,而不仅仅是整个模块。
【问题讨论】:
标签: javascript jquery unit-testing qunit regression-testing
为了测试排序以及防止测试被中断。
另外,有没有什么方法可以中途停止模块或测试并重置 QUnit(包括所有历史结果)?
QUnit.moduleDone 是我尝试测试模块完成的唯一方法。但它适用于模块中的每一个测试,而不仅仅是整个模块。
【问题讨论】:
标签: javascript jquery unit-testing qunit regression-testing
这取决于声明测试时 QUnit 是否正在运行。如果停止它,声明所有测试,然后启动它,moduleDone 回调将在模块结束时触发一次。如果它在声明测试时正在运行,那么测试将在声明后立即运行,从而导致模块仅包含到目前为止已声明的测试,并且它认为每个测试完成后模块都已完成。
done 回调也会出现同样的问题,如果在声明测试时 QUnit 正在运行,则会连续触发。
因此,如果您使用这些回调中的任何一个,您确实需要在头部同步加载所有测试,以便在加载事件中 QUnit 自动启动时它们存在,或者设置 QUnit.config.autostart = false 并且不调用 QUnit.start 直到所有异步加载的脚本已经完成了他们的测试声明。
【讨论】:
你确定 QUnit.moduleDone 吗?对我来说,它在模块结束时被调用一次;你所描述的听起来像 QUnit.testDone。
至于停止 QUnit 并重置它,希望网页之后会是什么样子?
【讨论】: