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
を参考にすることにした。
13 Jan 2017
現在 JavaScript(es6)にはPromise というそれは素晴らしいAPIがある。 標準仕様になる前は、jQuery.Deferredが流行っていてほぼそれと同等の機能を提供するAPIだった。 jQuery.Deferredが導入されたのが jQuery 1.5。 jQuery 1.5がリリースされたのは2011 1/31。 新卒で今の会社に入ったのが、2011年 4月 なので同期と行ってもいいだろう。 今日はこのPromiseについての話だ。
18 Apr 2016