RSpecやCucumberのコマンドを実行するラッパーを作りました

autotest"だけ"ではしっくりこないというテスト好きのRubyistのみなさまへ。

http://github.com/moro/spe_cuke

コードを書きながらモリモリとテストを実行したい場合、rake specで全体を流すのじゃなしに、ファイル単位とかExample/Scenario単位とかでテストを実行したいことがありますよね? そういうときには自作のvimスクリプトなどでうまくやったりすると思いますが、最近はいろんな環境が増えてきて大変だったりしませんか?

曰く

  • このプロジェクトはbundler使ってるのでbundle execしたい
  • こっちは古いRailsだからbundlerないよ!!
  • Rails3.0なので、コマンド名がspecじゃなくてrspecなんですけど。
  • 1.9と1.8共存させようとして.gemrcに--format-executableつけたらspecがspec18になって泣ける。
  • bundle18 exec rspec ... とか長すぎる

などなど。

というわけで、そのへんを開発者が(というよりスクリプト化された他の治具が)気にしなくていいように、同じインターフェースでコマンドを実行するラッパーコマンドを作りました。-lで行番号を指定すると、単体で流せたりもします。
ちなみに、-rをつけるとbundle exec rake spec SPEC= とか始めるんですが、rakeの依存タスクをちゃんとやるオーバーヘッドの関係でちょっと重いので、オプションにしています。

使い方や、機能なんかはGitHubへどうぞ(頑張って英語のREADMEを書いたので読んで!!!)。

以上。宣伝でした。