【RSpec】初期設定について
はじめに
RailsでRSpecを導入するときに、初期設定を忘れがちなので備忘録として残しておきます。
gemの追加(rspec)
Gemfile
gem 'rspec-rails'
$ bundle install
これでgemを入れることができました。
設定ファイルを作成するコマンド
$ rails g rspec:install
コマンドを実行すると、下記のファイルが作成されます。
create .rspec create spec/spec_helper.rb #RSpecの全体的な設定を書く create spec/rails_helper.rb #Rails特有の設定を書く
.rspecの設定
# 出力結果を色分け --color # rails_helperの読み込み --require rails_helper # 出力結果をドキュメント風に見やすくする --format documentation
デフォルトだと--require spec_helperとなっているが、RailsでRSpecを使う場合は、--require rails_helperを使うのがベターです。
理由としては、後述するrails_helper.rbで既にrequire spec_helperを行なっているためです。
テストデータ生成用のgem(factory_bot)
Gemfile
$ gem 'factory_bot_rails'
$ bundle install
facotory_botのgemを入れることができました。
下記の設定により、FactoryBotのデータ呼び出しを簡略化できます。
spec/rails_helper
require 'spec_helper' ENV['RAILS_ENV'] ||= 'test' RSpec.configure do |config| # FactoryBotの省略 config.include FactoryBot::Syntax::Methods #ここです end
この設定をすると、
FactoryBot.create(:user)
→create(:user)
のように簡略化できます。
テストの補助ツール gem(capybara)
Gemfile
gem 'capybara'
$bundle install
spec/spec_helper
RSpec.configure do |config| require 'capybara/rspec' end
で使用できるようになります。