編集 1
rspec-railsの問題を作成し、リポジトリを作成して、人々が自分でテストできるようにしました。
元の投稿
このstackoverflowの回答に従ってプラグインを構築し、次のようにエンジンにルートを追加しました:
# /config/routes.rb
Myplugin::Engine.routes.draw do
root to: 'pages#index'
end
私の唯一のrspecテストはこれです:
# /spec/controllers/pages_controller_spec.rb
require "spec_helper"
describe Myplugin::PagesController do
describe "GET /admin" do
it "routes to pages#index" do
expect(get: "/admin").to route_to(controller: "pages", action: "index")
end
end
end
そして、ダミーアプリには次のルートがあります:
# /spec/dummy/config/routes.rb
Rails.application.routes.draw do
mount Myplugin::Engine => "/admin"
end
rspec
プラグインのルートで実行すると、次のエラーが発生します。
Failures:
1) Myplugin::PagesController GET /admin routes to pages#index
Failure/Error: expect(get: "/admin").to route_to(controller: "pages", action: "index")
No route matches "/admin"
# ./spec/controllers/pages_controller_spec.rb:8:in `block (3 levels) in <top (required)>'
このstackoverflow answerを試しましたが、出力は変わりません。
何か案は?
rspec 2.13.0 と rails 3.2.13 を使用しています。