编辑 1
我为 rspec-rails 创建了一个问题并创建了一个repo,以便人们可以自己测试它。
原帖
我已经根据这个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 答案,但它不会改变输出。
有任何想法吗?
我正在使用 rspec 2.13.0 和 rails 3.2.13。