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-rubyとrspec
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もろもろはこれから調べる。