RSpec
コントローラーのテストを作りたい!!(Rails)
rails g rspec:controller [controller_name]
これを実行すると
spec/controllers/[controller_name]_spec.rb
というファイルが作成される。
ここのコントローラーの名前を
rails g rspec:controller hoge_controller
としてしまうと、
hoge_controller_controller_spec.rb
になってしまうので注意。
出来上がった、hoge_controller_spec.rb
を開いてみると、
require 'rails_helper' RSpec.describe HogeController, type: :controller do end
となっている。
Rails5からはcontroller specではなく、request specが推奨されているとのこと。
type: :request do
に書き換える。
実行の仕方
rails exec rspec
と入力。
これだとrspec配下のテストをすべて実行するので、
引数に実行したいテストファイルだけを指定することもできる。
rails exec rspec spec/controllers/hoge_controller_spec.rb