azu/promises-book を読んでいます(chapter3)

azuさんの「JavaScript Promiseの本」を読んでいます。 JavaScript Promiseの本

3. Chapter.3 - Promiseのテスト

テストの回です。

  • Mochaの選択理由
    • 著名なテストフレームワークであること
    • Node.jsとブラウザ どちらのテストもサポートしている
    • "Promiseのテスト"をサポートしている
Mochaは it の仮引数に done のように指定してあげると、
done() が呼ばれるまでテストの終了を待つことで
非同期のテストをサポートしています。
  • .then(done, done) とすることで、成功・失敗時ともに必ずdoneが呼ばれる
  • done() を呼ぶ代わりに、promiseオブジェクトをreturnすることもできる
  • onRejectedになることだけを期待して書かれたテストは、onFulfilledの状態になってしまうと 常にテストがパスしてしまうという問題がある -- 解決策としては、Fulfilled、Rejected 両方の状態について、テストがどうなってほしいかを明示

  • 通常のコードは then → catch と分けた方がよい

  • テストコードは then にまとめた方がよい
  • 忘れちゃうから、補助するヘルパー関数shouldFulfilled と shouldRejectedを利用したほうがいい