Rails - RSpec を使う
今回はActiveSupport::TestCaseではなく RSpecを使う方法です。
Bundler に設定
お約束ですね。
$ vi Gemfile
group :test do
gem 'rspec-rails'
end
$ bundle
RSpecをインストール
specディレクトリの作成とhelperの設置です。これを忘れると使えません。
$ rails generate rspec:install
scaffold 時にrspec を作成する
-t rspec オプションを使います
$ rails generate scaffold User name:string
specディレクトリ以下に作成され、モデル、コントローラ、ビュー、ルーティングのテストスケルトンが作成されます。先ほど実行したコマンドだと次のファイルが作成されます。IntegrationTest は ActionDispatch::IntegrationTest が使われます。
spec/models/user_spec.rb
spec/controllers/users_controller_spec.rb
spec/views/users/edit.html.erb_spec.rb
spec/views/users/index.html.erb_spec.rb
spec/views/users/new.html.erb_spec.rb
spec/views/users/show.html.erb_spec.rb
spec/routing/users_routing_spec.rb
spec以下のフォルダ毎にmodels => ユニットテスト controllers => 機能テスト views => 画面テスト routing=>ルートテスト が配置されます。ここのテストを書いていけばよい、というわけです。
テストを実行する
$ bundle exec rspec # 全テストを実行する
$ bundle exec rspec spec/models # 単体テストのみ実行
$ bundle exec rspec spec/controllers/users_controller_rspec.rb # 特定のテストのみ実行
- 作者: ウィリアム・C.ウェイク,ケヴィンラザフォード,William C. Wake,Kevin Rutherford,小林健一,吉野雅人,太田大地,坂本一憲,小島努
- 出版社/メーカー: ピアソン桐原
- 発売日: 2010/11
- メディア: 単行本
- 購入: 4人 クリック: 181回
- この商品を含むブログ (6件) を見る