答えて
モカは組み込まれていプロミスサポートバージョン1.18.0(2014年3月)のよう。あなたは、テストケースからの約束を返すことができ、そしてモカはそれを待っています:
it('does something asynchronous', function() { // note: no `done` argument
return getSomePromise().then(function(value) {
expect(value).to.equal('foo');
});
});
二行目にreturn
キーワードを忘れないでください。誤って省略すると、Mochaはテストが同期であるとみなし、.then
関数を待たずに、アサーションが失敗した場合でもテストは必ず終了します。
これも繰り返し取得した場合、あなたはあなたにもっと簡単に約束をテストするeventually
プロパティを与えるchai-as-promisedライブラリ、使用したいことがあります。ここでも
it('does something asynchronous', function() {
return expect(getSomePromise()).to.eventually.equal('foo');
});
it('fails asynchronously', function() {
return expect(getAnotherPromise()).to.be.rejectedWith(Error, /some message/);
});
を、return
キーワードを忘れてはいけません!
申し訳ありませんが、私はそれを取得しない、私は単純なテスト 'browser.url(..);タイトル= browser.getTitle(); expect(title).to.equal( 'foo'); '私の場合、どのように' getPromise() 'を使うのですか? – Gobliins
次に、エラーを処理するために使用できる約束を「返す」。ほとんどのライブラリでは、done
というメソッドがサポートされており、未処理のエラーがスローされます。
it('does something asynchronous', function (done) {
getSomePromise()
.then(function (value) {
value.should.equal('foo')
})
.done(() => done(), done);
});
また、(他のテストフレームワークのための同様のライブラリがあります)mocha-as-promisedのようなものを使用することができます。あなたのテストの内側その後
<script src="mocha-as-promised.js"></script>
:あなたはクライアント側を実行している場合
require("mocha-as-promised")();
:次に
npm install mocha-as-promised
スクリプトの開始時:あなたは、サーバー側を実行している場合約束を返すことができます:
it('does something asynchronous', function() {
return getSomePromise()
.then(function (value) {
value.should.equal('foo')
});
});
やコーヒー・スクリプト内の(元の例のように)
it 'does something asynchronous',() ->
getSomePromise().then (value) =>
value.should.equal 'foo'
- 1. mocha、chai、sinonでangularJsで$ q約束をテストする方法
- 2. MochaとSinonのテストで約束のタイムアウト
- 3. mochaと約束しているチェーン内の$ httpをテストする
- 4. ngrx/effects - 約束でテストする方法
- 5. mocha、chai、chaiAsPromisedとSinonとのjs約束事をテストする
- 6. mochaを使用したテストの約束拒否ケース
- 7. Mochaでのテストの約定
- 8. Mocha/Sinon - JavaScriptでのユニットテスト約束
- 9. Mochaとの約束を待つ
- 10. 冗談での約束をテストする最良の方法
- 11. ジャスミン - テストの約束。コールバック関数のテスト方法
- 12. ノードーでMochaを使用しないと約束します
- 13. 別の約束を約束する方法
- 14. NodeJS - Q - 別の約束を約束する方法
- 15. IE11で約束をする方法
- 16. コールバックコードをES6で約束する方法
- 17. Jest Reactテストで約束を待つ方法は?
- 18. emberjsで約束したコントローラアクションの単体テストを書く方法
- 19. 約束を返す方法
- 20. 約束したループで約束を使う正しい方法
- 21. 約束の約束に加入する方法
- 22. 返品約束の約束の価値を得る方法
- 23. 競合状態を避ける方法$ http約束約束012
- 24. それからテストして、約束の約束をキャッチ
- 25. 約束した単体テスト
- 26. ジャスミンノードjavascriptの約束のテスト
- 27. 約束の中で約束を返す
- 28. Nodejs約束 - 約束を解決しない関数をキャッチする方法?
- 29. アレイで約束をつなぐ方法
- 30. ngrx/effectsで約束を使う方法
'it'を取り込み、これを自動的に行う代わりにあなたが呼び出す関数を返す関数を作ります。あなたのテスト関数は 'return getSomePromise()'で始める必要があります –
"このアサーションが失敗すると、それは飲み込まれます"。明確にするために、 'value.should.equal'がスローする例外は、"成功 "コールバックを呼び出す関数によって捕捉されます。これは、Promises/A +の機能で、プロミスチェーンの最後にある "失敗"コールバックでエラー(例外など)を常に処理できることを保証します。 –