コントローラのパスとアクションを推測するビュースペック
コントローラのパスを推測する
次の内容で "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
を実行すると、
すべての例がパスするはずです。