『テスト駆動JavaScript』を読んだ。 この本は次の4部から構成されている。 第1部 テスト駆動開発 第2部 プログラムのためのJavaScript 第3部 JavaScriptテスト駆動開発の実際 第4部 テストのパターン 第1部は、テストランナーのトイプログラムを作りながらテスト駆動開発(以降、TDD)を紹介している。第2部は、TDDとは関係なく、JavaScriptの特徴(関数もオブジェクトであることやその応用など)を解説している。第3部で、第1, 2部の内容を応用して、順を追ってTDDを薦めていく。第4部は、テストに関するパターンの紹介。著者が開発するモックライブラリSinon.JSの紹介もここ。 変遷の速いJavaScriptにおいて、2011年 (原著 "Test Driven JavaScript Development"なら2010年) に発売された本だけれど、内容が古くなっていないかな? という心配は杞憂だった(冷静に考えると、自分が最先端にいるはずもない)。 特に、第4部の内容はJavaScriptに限らず、テストのコーディングに応用できる話。テストメソッドの名前の付け方、ふるまいの記述としてのテストの書き方、テスト自体に入り込むバグへの対策について、指針を与えてくれる。 一方で、具体的なコードの例にも事欠かない。こちらはさすにが変更が入っているけれど、JsTestDriverとSinon.JSを組み合わせてテストを書くためのとっかかりとしては十分だったと思う。実際に、JsTestDriverやSinon.JSのドキュメントも参照しつつ、サンプルを書くことができた。その過程で調べたことは、Mirror House Labの次のエントリーにまとめている。 JsTestDriverでUnit Test + Code Coverage JsTestDriverでテストケースを書く Sinon.JSのテストダブルを使ったユニットテスト ところで、こうしてJavaScriptを勉強していると、自由度が高いと思う。型チェックが効かないから、気がつかないうちに、おかしなオブジェクトを引数に渡していたりする。自分が一番よく使う言語はJavaだから、型安全に書けないと不安になる。そういう意味では、TypeSc