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レベルでブラックボックスなテストがRubyのDSLで書ける。すげ!
内部的には、test/unit or RSpecを使っている模様。