総じて、題名の通りcucumberの最初のドキュメントとしてはとてもいいんじゃないでしょうか。
twitterの基本機能みたいなヤツを実装しながらcucumberについて学んでいけます。
ご購入はコチラ。
はじめる! Cucumber - 達人出版会
最初の嵌りどころ
rspec2系が入っているとエラーになるのでuninstallした。
今は過渡期なので仕方ない(いや、いつも過渡期な気がするけど)。
どうしてもrvmなどで分けれない人は↓で対応できるかも。
rspec 2 と rspec 1.3.1 の共存 - って、なんでですか〜 - subtech
個人的に良かったとこ
日本語化が簡単になってる
ruby script/generate cucumber ja --webrat --rspec
tableish
こんな感じでデータを表現できる。
かつ 以下のユーザごとのメッセージがある: | ユーザ | メッセージ | 投稿日時 | | alice | 着席しています(大ホール)。 | 12時間前 | | bob | ランチどうする。 | 10時間前 | | charls | もう食べたよ!? | 9時間前 |
named_scopeのテストをRSpecで書いてみたんだけど、cukeのtableを駆使すれば
そこそこ見やすくなると思った。
(factory_girlとか使えるんかな。あとで。)
あと余談だけど、textmateな人は shift + command + \ で選択したテーブルが整形される。
このショートカット無しのcuke開発は考えられないくらい便利。
シナリオアウトライン
複数のデータパターンの検証ができる。
@wipタグ
修正中のシナリオに対して印を付けておく事ができて、
そのシナリオのみテストができる。
シナリオのタグ付け
@wip以外にも、個別にタグ付けが可能。
rakeタスクに書けてCI(hudsonが一般的?)用などと分けることができる。
多分これは実プロジェクトでやるなら必須な感あり。
実際全てのfeaturesをテストすると少し時間が掛かる。
debugger
ruby-debugが簡単に使える。
最後の方にさらっと紹介されてたけど。結構強力。
Capybara
導入についても最後に触れてあります。
関係ないけど
!!という書き方がチラホラ出てくる。
目から鱗だわ。
def signed_in? !!current_user end