我需要一点帮助来理解 QUnit internas。我不时阅读它的源代码,但是当涉及到异步测试时,我仍在编写奇怪的测试。我了解异步测试的概念,以及 stop() 和 start() 方法(以及为什么需要它们),但是当我将它们与 setup 和 teardown 结合起来时,我会遇到很多奇怪的情况。
这是我的测试代码:
use(['Psc.Exception','Psc.Code'], function () {
module("async", {
setup: function () {
console.log('setup');
}, teardown: function () {
console.log('teardown');
}
});
asyncTest("test1", function () {
expect(0);
console.log('test1');
start();
});
asyncTest("test2", function () {
expect(0);
console.log('test2');
start();
});
asyncTest("test3", function () {
expect(0);
console.log('test3');
start();
});
asyncTest("test4", function () {
expect(0);
console.log('test4');
start();
});
asyncTest("test5", function () {
expect(0);
console.log('test5');
start();
});
});
尽管这些都是异步测试,但我想我会在控制台中得到类似的东西:
setup
test1
teardown
setup
test2
teardown
setup
test3
teardown
...
因为我认为 qunit 会在测试机构周围调用 setup 和 teardown ?
但我把一切都搞混了,从请求到请求以另一种方式洗牌。
setup
test1
teardown
setup
setup
setup
setup
test5
teardown
test4
teardown
test3
teardown
test2
teardown
有人能够逐步解释吗?