メインコンテンツまでスキップ

コントローラのパスとアクションを推測するビュースペック

コントローラのパスを推測する

次の内容で "spec/views/widgets/new.html.erb_spec.rb" という名前のファイルがあるとします:

require "rails_helper"

RSpec.describe "widgets/new" do
it "infers the controller path" do
expect(controller.request.path_parameters[:controller]).to eq("widgets")
expect(controller.controller_path).to eq("widgets")
end
end

rspec spec/views を実行すると、

すべての例がパスするはずです。

アクションを推測する

次の内容で "spec/views/widgets/new.html.erb_spec.rb" という名前のファイルがあるとします:

require "rails_helper"

RSpec.describe "widgets/new" do
it "infers the controller action" do
expect(controller.request.path_parameters[:action]).to eq("new")
end
end

rspec spec/views を実行すると、

すべての例がパスするはずです。

パーシャル内ではアクションを推測しない

次の内容で "spec/views/widgets/_form.html.erb_spec.rb" という名前のファイルがあるとします:

require "rails_helper"

RSpec.describe "widgets/_form" do
it "includes a link to new" do
expect(controller.request.path_parameters[:action]).to be_nil
end
end

rspec spec/views を実行すると、

すべての例がパスするはずです。