2016-06-11 6 views
0

私はジャスミンノードでいくつかの約束をテストしたい。しかし、テストは実行されますが、アサーションは0となっています。これは私のコードです、何か間違っていますか?その部分は正常に呼び出されるので、そこにconsole.logがあれば呼び出されます。コードテストでhttpリクエストが成功すれば、アサーションは正しく解釈されます。ジャスミンノードjavascriptの約束のテスト

describe('Unit tests', function() { 
it("contains spec with an expectation", function() { 
    service.getAllClients().then(function (res) { 
     expect("hello world").toEqual("hello world"); 
     done(); 
    }).catch(function (err) { 
     fail(); 
    }); 
}); 

});

it("contains spec with an expectation", function(done) { 
    // ... 

をあなたがするために、パラメータ、ジャスミンがしばらく待機する含めると:あなたはジャスミンは、あなたが非同期的に何かをテストしている知っているので、あなたがitに渡すコールバックにdone引数を指定する必要が

+0

'done'と' fail'定義されていますか? [documentation](http://jasmine.github.io/2.4/introduction.html#section-Asynchronous_Support)を読んだことがありますか?あなたが知る必要があることはすべてそこにあるようです。 –

+0

ジャスミンフレームワーク自体から来たものですか? – patentul

+0

['fail' yes](http://jasmine.github.io/2.4/introduction.html#section-Manually_failing_a_spec_with_ fail)。 'done'について何も見ていない。しかし、もう一度、ドキュメントを見てください。あなたの間違いが何であるかははっきりしているはずです。 –

答えて

2

doneに電話して、完了したらいつでも知ることができます。

done(); 

第二に、非同期のテストでは、おそらくdone.failの呼び出しで失敗した方がよい:

done.fail(); 
+0

ありがとう、私は自分でそれを理解した、私はあなたの答えを受け入れたそれは私が必要だったので – patentul