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 を実行すると、
例はすべてパスするはずです。