像这样的Rspec测试(实际上来自RefineryCMS自己的测试套件)
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
module Refinery
describe FastController do
it "should render the wymiframe template" do
get :wymiframe
response.should be_success
end
end
end
导致以下错误:
Failure/Error: get :wymiframe
ActionController::RoutingError:
No route matches {:controller=>"refinery/fast", :action=>"wymiframe"}
# ./spec/controllers/fast_controller_spec.rb:6:in `block (2 levels) in <module:Refinery>'
在这种情况下,我使用炼油厂2.0.8和Rspec 2.11,运行rake路线后的相关部分如下所示:
wymiframe GET /wymiframe(/:id)(.:format) refinery/fast#wymiframe
我尝试了一些其他控制器Rspecs也因路由错误而失败。我当然正在尝试为我自己的额外方法编写测试,我正在添加到vanilla Refinery控制器中,但我想我是否可以看一下控制器测试是否适用于全新的炼油厂安装。
这一定是一个简单的错误!有什么建议吗?
答案 0 :(得分:1)
get :wymiframe
我需要使用:
get :wymiframe, { use_route: :any_old_thing }
我不知道为什么会这样 - 特别是因为对于“any_old_thing”,我真的没有使用任何有意义或连接的tomy项目。但是,它似乎有效,现在我可以测试我的控制器了。