Ruby on Rails 3.2.0 ビヘイビア駆動型開発RSpecのスタートアップ

アプリケーションが複雑になってきて、疎結合でがんばっていてもどうしてもひとつ直すと一方に影響してしまう状況になったので、やっぱりテストもきちんとしなければと思いなおし調べた結果、RSpecというのがどうやらよいらしい。

一応デフォルトのTest:Unitを使っていたのですが、どうせ本格的に導入するならみなさんが「いい」といっているほうがいいにきまってます。

ということでRSpecをはじめました。

が、情報が少ない!いきなりつまずいてしまいました。

ネット上の記事によっていろいろ違うことが書いてあります。どれも環境によって使い方が違うのか、短い間に仕様がいろいろ変わったのかなと想像していますが。
なのであくまで私の環境においてどのようにはじめたかを記述します。

環境は下記のとおり

  • OS:Windows7上にVirtualBoxにてUbuntuをインストール
  • ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
  • Rails 3.2.0

まず、インストールです。Gemfileに下記を記入

gem ‘rspec-rails’, ‘>= 2.6.0’, :group => [:development, :test]

$ bundle installを実行してインストールされたことを確認。

次にプロジェクトにRSpecを初期設定します。
$rails g rspec:install

この状態でscaffoldなどを使うと自動的にspec/のなかにmodels/hoge_spec.rbなどのファイルができます。

これらのファイルは自分で作ってもOKなのですが、だーっと作ってもらえるのはやっぱりうれしい。
ところが私の場合プロジェクトの途中ですのですでにたくさんのモデルやcontrollerを作ってしまっていました。

すでに存在するものに対してspecファイルを作るには以下のとおり。

$ rails generate rspec:model Hogehoge

コントローラも同様に作れる模様。

その後で
$ rake  spec
ですべてのテストを実行できます。

■なやんだところ

一部の記事にはRSpecをインストールした後、
$ spec -v
でインストールされたかどうかを確認する。とありましたが
$ rspec -v
で確認することができました。

Gemファイルとして提供されているものではなくRailsのプラグインとして導入するよいと薦めている記事もあります。 これによってその後の操作が違うようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です