rails-rpec ルート スペックを使用して、さまざまなユーザー エージェントに基づいてさまざまなルーティングをテストしようとしていますが、スタブする正しいメソッドまたはオブジェクトが見つかりません。
私の方法は次のようになります。
require "spec_helper"
describe "articles routing" do
describe "/articles/#slug" do
it "routes to Articles#show" do
get("/articles/fancy-slug").should route_to(controller: "articles",
action: "show",
id: "fancy-slug")
end
describe "when you have an iphone user agent" do
before(:each) do
# SOMETHING MAGICAL HAPPENS ALONG THE LINES OF THE LINE BELOW
# request.user_agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25"
end
it "routes to Mobile::Articles#show" do
expect(get: "/articles/fancy-slug").to route_to(controller: "mobile_articles",
action: "show",
id: "fancy-slug")
end
end
end
end
しかし、私の人生では、リクエストやコントローラーなどをスタブする方法がわかりません。get
利用可能なドキュメントのほとんどは、構文の古い/時代遅れのバージョンを参照しているようです。