编辑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。
expect { get: '/admin' }.to ....
吗? - fontno