2015-10-25 13 views

答えて

4

The first example on the readmeは、​​が動作しますが、endが非同期テストの解像度ではない状況を示します。テストは全てが解決しなければならないときに、このケースでは、あなたが明示的を言っていない、あなたは最終的に解決する必要がありますどのように多くの言っている:

test('timing test', function (t) { 
    t.plan(2); 

    t.equal(typeof Date.now, 'function'); 
    var start = Date.now(); 

    setTimeout(function() { 
     t.equal(Date.now() - start, 100); 
    }, 100); 
}); 

我々はendを使用していた場合は、直感的な方法を書くために次のようにこのテストは次のようになります。

test('timing test', function (t) { 
    t.equal(typeof Date.now, 'function'); 
    var start = Date.now(); 

    setTimeout(function() { 
     t.equal(Date.now() - start, 100); 
    }, 100); 

    t.end(); 
}); 

を...が、第2アサーションが実行する機会があった前に、これは、テストを終了します。

さらに、これを非同期または動的コードを実行する必要があるあらゆる状況に推定することができます。

関連する問題