Cucumber予習


creative commons photo by viZZZual.com

明日(もう今日か!)OSC仙台に参加してきます。OSCのページから何回事前登録しても「登録できません。」ってなるんだけど席空いてるのかなぁ。。


さて、Cucumberについてなんですが、id:moroさんがCucumberがアツい - moroの日記で紹介されてるインテグレーションテストツールで明日はそのセッションがあります。


個人的には、Excelのテスト仕様書と比べて作るコスト、テストの網羅性はどうなの?Ajaxなアプリでも使えるの?Viewのデザイン変更にも耐えられるの?などいろいろと疑問を持ってたりするんですが、方向性的にはすごく期待してます。


だって、Cucumberでできることってつまりは動く仕様書が作れるってことですもんね。最近、仕様書に求められているのは、(契約的な視点を除けば)「テストに使えること」と「仕様策定者と実装者のコミュニケーションの土台になれる」ことだと思っているので、動く仕様書はマジ魅力的です。



ってなわけで明日のセッション+二次会でパフォーマンスを発揮できるように(俺が発揮してどうすんだ!?)予習していこうと思います。


といってもソースはほぼ諸橋さんのブログなわけですがw

Cucumber

Cucumberがアツい - moroの日記
Cucumber Making BDD fun

featureは仕様を自然言語で書くファイル。
stepsはfeatureをrubyで解釈するための命令の集まり。命令の定義は正規表現でする。後方参照を変数として利用可能。
Cucumber自体はRuby以外にもJavaや.Net等環境を選ばずに動く。ただ、元々がRSpecのストーリーランナーを置き換える目的で作られたようでRuby発祥といえる。

Webrat

Webratがスゴい(続:Cucumberがアツい) - moroの日記
Webrat 0.1.0 released
Cucumberのstepsが使っているライブラリ。
visit new_entry_pathとかclicks_button("submit")とかUIレベルでブラックボックスなテストがRubyDSLで書ける。すげ!
内部的には、test/unit or RSpecを使っている模様。

やつらの関係は

Rubyプログラマならテストを書けるtest/unit or RSpec
をラップしてユーザー目線で書けるようにしたWebrat
をさらにラップして自然言語のストーリーで書けるCucumber
って感じか。すぎょい!


あとは、TechTalk第1回(cucumber紹介 by moro)の動画を配信します。を今見てる。


んあーそろそろ仙台に出発しないと。同時進行でrailsでログイン可能なブログを作ってCucumber試してるんだけど、続きは帰ってきてから。

仙台着くまでに、Cucumberをカーキュンバーと読んでしまう癖を直さないと!いざ仙台!