めもめも。先日の続きです。
最初からRSpec使ってれば良かったんですが、後から知ったもので、既にアプリを作っちゃってる場合を考えます。ここに後からRSpecを導入して、テストする、というのを試してみました。
環境
$ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] $ rails -v Rails 3.2.1
準備
とりあえずこんなプロジェクトを準備。
rails new my_shop cd my_shop rails g scaffold item name:string description:text price:integer on_sale:boolean rake db:migrate
インストール
前回と同じ。
- Gemfile
gem 'rspec-rails'
bundle rails g rspec:install
RSpec開始
rails g rspec:scaffold item name:string description:text price:integer on_sale:boolean
あらやだ簡単じゃない!(口に手を当てて)
他にもrspec:controller
とかrspec:model
とかrspec:view
とかあるらしい。自分で作ったのに合わせって、ほとんど同じ内容でコマンド打てるんだなあ。ありがてえ、ありがてえ……!
今回は本当にscaffold
とrspec:scaffold
とに同じ引数与えているが、migrateしている場合でも、現時点でのスキーマに合わせた内容で作れば良いかと。
ちなみに同じコマンドを打ち直すと上書きができる(聞かれるのでY
にする)ので安心です。
で、試験実行。
rake spec
エラーが出たら順次書き直しを進めて、完了。お手軽だね。