RSpec のセットアップ
テストはRSpecを使って、ModelSpecとSystemSpecでよいかなあと思います。 ModelSpecはモデルクラス単体のテストでメソッドやバリデーションの挙動をテストします。 SystemSpecとは統合テストと呼ばれるテストで、実際にブラウザを起動して画面上で挙動をテストします。
Rspecのセットアップ
(Gemfile)
group :development, :test do # (省略) gem 'rspec-rails' end
$ bundle
必要なファイル群をrails gコマンドで生成します。
$ rails g rspec:install (省略) create .rspec create spec create spec/spec_helper.rb create spec/rails_helper.rb
'--format documentation'を追記してRSpecのテスト結果をドキュメント形式にします。 (.rspec)
--require spec_helper --format documentation
binstub を使ってテストスイートの起動時間を速くします。
group :development do # (省略) gem 'spring-commands-rspec' end
$ bundle
新しい binstub を作成 します。
$ bundle exec spring binstub rspec
bin ディレクトリ内に rspec という名前の実行用ファイルが作成されま す。
これによりbin/rspec
コマンドでテストを実行できるようになります。
$ bin/rspec (省略) Running via Spring preloader in process 71648 No examples found. Finished in 0.00059 seconds (files took 0.2438 seconds to load) 0 examples, 0 failures
さらに、rails g
でRSpec用のスペックファイルも一緒に生成されるように設定します。
Rails.application.config.generators do |g| # (省略) g.test_framework :rspec, fixtures: false, view_specs: false, helper_specs: false, routing_specs: false, controller_specs: false, request_specs: false end
今回はModelSpecとSystemSpecだけなのでそれ以外はfalseとしておきます。