render_template
マッチャー
render_template
マッチャーは、リクエストが指定されたテンプレートまたはレイアウトをレンダリングすることを指定するために使用されます。これは assert_template
に委譲します。
これはコントローラースペック(spec/controllers)およびリクエストスペック(spec/requests)で利用できます。
注意: リダイレクトには redirect_to(:action => 'new')
を使用し、render_template
を使用しないでください。
三つの可能なオプションを使用した render_template
の使用方法
以下の内容で "spec/controllers/gadgets_spec.rb" という名前のファイルがあるとします:
require "rails_helper"
RSpec.describe GadgetsController do
describe "GET #index" do
subject { get :index }
it "renders the index template" do
expect(subject).to render_template(:index)
expect(subject).to render_template("index")
expect(subject).to render_template("gadgets/index")
end
it "does not render a different template" do
expect(subject).to_not render_template("gadgets/show")
end
end
end
rspec spec/controllers/gadgets_spec.rb
を実行すると、
例はすべてパスするはずです。