Rails 2.3 で RSpec を使い始める

環境は、Ubuntu 10.04, Ruby 1.8.7, Rails 2.3.8 です。

まず、Railsアプリケーションを生成します。


$ rails my_app
$ cd my_app
$ rake db:create
$ rake db:migrate

ここではまだRSpec関連のジェネレータは使えません。


$ ./script/generate rspec
Couldn't find 'rspec' generator
これは、次のようにして確かめることもできます。

$ ./script/generate --help
...
Installed Generators
Rubygems: cucumber, ...
Builtin: controller, ...
...

https://github.com/dchelimsky/rspec/wiki/config.gem-%28for-Rails%29 によると、gemを使う方法とプラグインを使う方法の2通りあるようですが、ここではプラグインを使います。


$ ./script/plugin install git://github.com/dchelimsky/rspec.git -r 'refs/tags/1.2.9'
$ ./script/plugin install git://github.com/dchelimsky/rspec-rails.git -r 'refs/tags/1.2.9'
こうすると、vendor/plugins/ 以下にプラグインがインストールされ、以下のような RSpec 関連のジェネレータが使えるようになります。

$ ./script/generate --help
...
Installed Generators
Plugins (vendor/plugins): integration_spec, rspec, rspec_controller, rspec_model, rspec_scaffold
Rubygems: cucumber, ...
Builtin: controller, ...
...

これで、RSpec関連の初期設定をすることができます。


$ ./script/generate rspec
いくつかのファイルが作られ、rakeタスクが追加されています。

$ rake -T spec
...
例えば、

$ rake spec
とできます。

ちなみに、例えばモデルを生成するときに、


$ ./script/generate model record
ではなく、

$ ./script/generate rspec_model record
とすると、ユニットテストやフィクスチャのファイルは、デフォルトのActiveSupportのものではなく、RSpec用のものが生成されます。