2

asyncTestなしで次のコードがあるとします

setTimeout(function(){
  test ("test1", function(){
    ok(true, "test1 works");
  }); 
}, 2000);

そして、asynTestを使用したこのコード

asyncTest ("test1", function(){
  setTimeout(function(){
    ok(true, "test1 works");
    start();
  }, 2000);
}); 

私の質問は、これら2つの違いは何ですか?ありがとう。

4

1 に答える 1

3

qUnitのドキュメントから引用:

追加された非同期テストはキューに入れられ、次々に実行されます。通常のtest()を呼び出し、すぐにstop()を呼び出すのと同じです。

setTimeout中:

指定された遅延の後に、関数を呼び出すか、コードスニペットを実行します。

違いは、seTimeoutはqUnitとは関係がなく、指定されたコードスニペットを指定された時間後に単純に実行するのに対し、qUnitは指定されたasyncTest時間後に実行されず、代わりにキューに配置され、最終的にそこから取得されることです。そして実行されます。

また、あなたが実際に同じように比較しているとは思いません。

于 2012-11-30T22:18:52.757 に答える