29 Jan 2017
前回kumabook/yakusokuというPromiseライブラリを作った。 これは業務でes3を書いていて困ったから作ったものである。 もう一つ困っているものがあった。テスト用のモックライブラリである。 現在JavaScriptでモックライブラリのデファクトは Sinon.JSである。 テストフレームワークJasmine (もしくはそのフォークのJest)にはモックAPIが付属している。 テストフレームワークとしてはmochaを使っているので、まあSinon.JSが使うのが普通の流れだ。 ただ、どうも実装が大きい。5000行ぐらいある。 もっとシンプルでいいからサイズを小さくして欲しい。 やはりNodeJS用のライブラリは富豪的である。
というわけでシンプルなモックライブラリを作ることにした。
どういうAPIにすべきか色々調べてみると、testdouble.jsというのが割と流行り始めている気配を感じた。
早速APIを見てみると、確かになかなかスッキリしている。
厳密にはspyとstubとmockの違うみたいなのだが、
そうは言っても実際問題そんなに区別しなくて良いことも多い。
testdouble.js
のそこを区別しない思想に好感がもてる。
他にもドキュメントがやたらと教育的で勉強になる。
なので、APIデザインはtestdouble.js
を参考にすることにした。