1

QUnitでいくつかのテストケースを定義しました。これらのテストケースの最後は、 window.open関数を使用して新しいウィンドウで特定のURLを開き、新しく開いたページのbodyタグのhtmlコンテンツを現在のページ(テストが実行されている)のbodyタグに追加します。また、他のすべてのテストケースの実行の最後に、そのテストケースを実行する必要があります。プロパティQUnit.config.reorderfalseに設定することで、これを行うことができます。

問題は、本文のhtmlをコピーする前に、新しいページが新しいウィンドウに読み込まれるまで待つ必要があるという事実にあります(ページの読み込みに時間がかかるため)。このために、私はsetTimeoutを使用して、たとえば3000ms後にbodyタグのhtmlコンテンツを取得していますが、その間に、アサーションがsetTimeOutハンドラー関数に存在するため、QUnitはテストケースに失敗します。

4

3 に答える 3

4
asyncTest('my test', function() {

    // some prep. code goes here (may go here)

    setTimeout(function() {
        start(); // this would tell QUnit to start the test

        // test code goes here

    }, 3000);
});
于 2012-10-29T12:59:00.077 に答える
2

ドキュメントを読むasyncTest( name, [expected], test )

于 2012-10-29T12:56:41.143 に答える