#はじめに
RSpecの導入手順を記しとこうと思います。
ここではRSpec, FactoryBotの導入部分を書いていきます。
#Gemfileの編集
次の様にGemfileを編集する。
Gemfile
group :development, :test do #すでにあるブロックに下3行を追加
gem "rspec-rails"
gem 'spring-commands-rspec'
gem "factory_bot_rails"
end
####自分用(Rubyのバージョンを変えたらエラーが出たため)
Rubyのバージョンが 3.0.0 以上の場合、Gemfileに以下を記入
これを記入しないとrspec
コマンドを実行してもエラーが出る。
Gemfile
gem 'rexml', '~> 3.1', '>= 3.1.9'
そしてbundle install
する。
#RSpecのインストール
コマンドラインで次のコマンドを実行。
rails g rspec:install
次のコードを.rspec
ファイルに追加。
.rspec
--format documentation
##Config/Application.rbの編集
次のコードを追加。
config/application.rb
class Application < Rails::Application
config.generators do |g|
g.test_framework :rspec,
controller_specs: true,
fixtures: true,
helper_specs: true,
model_specs: true,
request_spec: false,
routing_specs: false,
view_specs: false
end
end
これでRSpecの導入は終了。
以下、RSpecコマンド
・モデルスペック
rails g rspec:model user
・システムスペック
rails g rspec:system projects
#FactoryBotの設定
rails_helperを編集。
*必須ではない
rails_helper.rb
RSpec.configure do |config| #元からあるこのブロックに以下の1行を追加
config.include FactoryBot::Syntax::Methods
end
これがあることで次の様に簡潔にコードか書ける。
# 通常の呼び出し方
user = FactoryBot.create(:user)
# 上のコードを書いたことにより省略形が使える様になる。
user = create(:user)
#おわりに
以上で導入完了です。