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を利用したほうがいい