[読書] The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends

Ruby on RailsでBDDを実践するために、CucumberとRSpecについて詳しく知りたいと思ったので読んでみました。

ちなみに、電子書籍として欲しかったので英語版を購入。

目次

  • I Getting Started with RSpec Cucumber
  • II Behaviour-Driven Development
  • III RSpec
  • IV Cucumber
  • V Behaviour-Driven Rails

内容・感想

アプリケーションとしての振る舞いを検証するCucumberと、オブジェクトとしての振る舞いを検証するRSpec。これらのテストライブラリを要所要所で使い分けながら、BDDをRubyアプリケーション開発を進めていくためのノウハウがたっぷり詰まった良書です。

最初のカンタンなコンソールアプリケーションを開発するチュートリアルを通して、CucumberとRSpecを使ったBDDによる開発スタイルの雰囲気をつかむことができます。開発サイクルそのものの説明に加えて、「なぜそうするのか」「どういった効果があるのか」についてもしっかり説明されているので、説得力があり、非常に理解しやすかったです。

最後はRuby on Railsを使ったWebアプリケーション開発のチュートリアル・解説。最初のチュートリアルではカバーしきれなかった、ビュー/コントローラ/モデルの振る舞いを検証するためのテストコードの書き方やベストプラクティス、WebratやSeleniumを使ったクライアントサイドのテストに関して詳しく書かれていました。

読んでみて、自分の中でずっとぼんやりしていたRails上でのテストコードの書き方やBDDの進め方をしっかり理解できた感じ。ビューからモデルに向かって実装を進めていく「Outside-in Rails development」という開発スタイルに触れることで、自分の中にあった「ビューのテストは難しい」という先入観など、自分の中の価値観がいい意味でぶち壊されていきました。

本書には、BDDによるRails Webアプリケーション開発を行うために最低限必要なノウハウ・知識がすべて詰まっていると思います。知りたかったことが全部書かれていた。僕は読み終わったあとにそう思いました。エンジニアの階段をひとつ上ったような感じ。少しでも良いモノを作り出すために、本書で書かれている内容をすぐにでも実践しようと思えました。

Railsに限らず、他のプログラミング言語/フレームワークを使っているエンジニアの方も含めて、コードのメンテナンス性を高めるためにBDDの導入を考えているすべての人におすすめです。ぜひ読んでみてください。サンプルコードがたくさん載っているので、英語版でも比較的さらりと読めますよ。日本語版と比べてお値段が安いのと、PDFとして手に入れられるのが英語版のメリットです。こちらもぜひ検討してみてください。

それでは。