QUnitインターナを理解するのに少し助けが必要です。私は時々そのソースを読みますが、非同期テストに関してはまだ奇妙なテストを書いています。非同期テストの概念、およびstop()メソッドとstart()メソッド(およびそれらが必要な理由)は理解していますが、それらをセットアップおよびティアダウンと組み合わせると、多くの厄介な状況が発生します。
これが私のテストコードです:
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
test1
teardown
setup
setup
setup
setup
test5
teardown
test4
teardown
test3
teardown
test2
teardown
誰かがそれを段階的に説明することができますか?