RSpec Book

RSpec と Cucumber のチュートリアルおよびリファレンス本。論理ゲームを題材に、Cucumber と RSpec を使って BDD を実践しているので、Ruby で BDD するなら参考にできると思う。

Cucumber と RSpec を使った開発の流れを簡単に書くなら

  1. Cucumber で機能のフィーチャを定義する
  2. RSpec でモデルやコントロールのスペックを定義する
  3. スペックとフィーチャを満たすようにモデルやコントローラーを実装する
  4. リファクタリング
  5. 上記を繰り返す

という感じ。RSpec だとモデルやコントローラーといった部品単位の振る舞い(スペック)しか書けないけど、それを補うようにアプリの機能の振る舞い(フィーチャ)を書けるのが Cucumber。本書に掲載されているフィーチャは英語だけど、日本語も使えるみたい。

ただ、趣味プログラミングだと、やりたい事に対して時間が少なくて、結局 RSpec 止まりになってしまっている。仕事なら Cucumber 使ってただろうな。いつかその時が来たらまた本書を読み返そう。

The RSpec Book (Professional Ruby Series)

The RSpec Book (Professional Ruby Series)