RSpec on Rails

2008年02月12日 19:54
トラックバック (0)   コメント (0)

前回toytterにrails2.0ならではの機能を入れて行くと言いましたが、拡張していくんならテストは無視できないよねと、いきなりの寄り道です。

railsには最初からテストをするための枠組みが用意されていて、かなりテストへの敷居は低くなっているんですが、それとは別にRSpec on Railsというものを使うこともできます。
このRSpec、やってくれることはTest::Unitと同じ「テスト」なんですが、非常に気持ちよくテストを書くことができます。特にTDD(テスト駆動開発)をやっている、やりたいって人にはお勧めです

こちらのページでとてもわかりやすく解説してくれています。
スはスペックのス【第1回】


では早速、toytterでもrspecを使えるようにします。
インストール方法は

$ gem install rspec
$ ./script/plugin install http://rspec.rubyforge.org/svn/tags/REL_1_1_3/rspec/
$ ./script/plugin install http://rspec.rubyforge.org/svn/tags/REL_1_1_3/rspec_on_rails

rspecとrspec_on_railsのバージョンは同じ必要があるので、gemで入れたものとは別に、vendor/pluginsにもrspecを入れておきます。こうすることで、gemのrspecがバージョンアップしても、既存のプロジェクトには影響がでなくなります。

インストールが終わったら、

$ ./script/generate rspec

で、ディレクトリや基本のファイルが作成されます。


モデルやコントローラー作る時には、いつものにrspec_をつけてあげればTest::Unit用のファイルの代わりに、RSpec用のが作られます。

$ ./script/generate rspec_model Hoge
$ ./script/generate rspec_controller Hoge

toytterでもrspec用のテストファイルが欲しいので、

 ./script/generate rspec_model user
 ./script/generate rspec_model friendship
 ./script/generate rspec_model status
 ./script/generate rspec_controller user

で作り直しておきました。

で、なんもしないで"rake spec"ってやったらUser.new.valid?がfalseだよ!って怒られちゃったので、spec/models/user_spec.rbでUser.newしているところに適当な初期値を入れて回避です。

これでTDDの準備はOK!

次回こそはRails2.0でなんかやります!

押忍!

最新エントリー
カテゴリ
月別のアーカイブ
プロフィール
吉見和也(Kazuya Yoshimi)
RAWHIDE.(ローハイド.)取締役兼最高技術責任者。Rubyで開発する心地よさに惚れ、Ruby道を邁進する日々。迷わず行けよ、行けばわかるさ、Ruby道。押忍!
Powered by
 

企画特集

ZDNet Japan ホスティング特集ZDNet Japan ホスティング特集
2008年夏のホスティングサービスのトレンドは何?
DELLが掲げる「新・仮想化アセスメントサービス」DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜
Techno ExchangeTechno Exchange
仮想化技術がグリーンITにもたらすもの
ZDNet Japan Green ITZDNet Japan Green IT
サミットだけでは終わらせない!エンタープライズの取り組みはこれからだ!
フォトレポート:分解、アップル「iPhone 3G」
CNET News.comの姉妹サイトであるTechRepublicは、7月11日に発売されたばかりの「iPhone 3G」を早速分解し、その様子を紹介した。
ちょっと変わった「iPhone」向けアプリケーション10種
「iTunes」のApp Storeでは、「iPhone」向けのさまざまなアプリケーションが販売または無償で提供されているが、中にはちょっと変わったアプリケーションも存在する。
契約してわかった、iPhoneのさまざまな注意事項
7月11日にソフトバンクモバイルから発売された、アップル製携帯電話「iPhone 3G」。その契約手続きの中で、機種変更時の料金やメールの保存期間など、iPhoneが持つさまざまな注意事項が見えてきた。