Rails3のinstallからRSpec2のgenerateまで

Rails3 RCが出ようとしているところでRails3のinstallからRSpec2のgenerateまでの手順メモ。

Rails3のinstall
rvm上でinstallした

$ gem install rails3b
$ gem install rails --pre

$ rails -v
Rails 3.0.0.beta3

Railsプロジェクトを作成

$ rails todo

但し今後はrails new app_nameになる模様。

bundlerで作成するプロジェクトの依存関係を解消する。
依存関係はrails rootのGemfileに記述
今回はsqlite3-rubyrspec

gem 'sqlite3-ruby', :require => 'sqlite3'

group :test do
  gem "rspec", "2.0.0.beta.11"
  gem "rspec-rails", "2.0.0.beta.11"
end

依存gemをinstall

$ bundle install

RSpecをアプリにinstall

$ rails g rspec:install

Rails 2.xまでのscript/*はrailsコマンドに置き換えられました。
script/server → rails server or rails s
script/generate → rails generate or rails g
など。
これらは以下のコマンドで確認できる。

$ rails コマンド -h

モデルの作成
rails g rspec:installしておけばspecも含めて一気に作ってくれる。
普段はTest::Unitのファイルが作成される。

$ rails g model todolist description:string todo_priority:integer
      invoke  active_record
      create    db/migrate/20100609134110_create_todolists.rb
      create    app/models/todolist.rb
      invoke    rspec
      create      spec/models/todolist_spec.rb

rails g rspec:modelというのもあるが、これはspecファイルのみ作成される。
これまでのscript/generate rspec_modelと同じ様な動きと思ったら違っていた。
今回のTest::Unitを置き換える形でgeneraterが走るのはRSpecの使われ方を考えると、正しい方向にシフトしたっていうことなのか。

Specの実行

$ spec -c spec/

RSpec2の新しいAPIもろもろはこれから調べる。