我是新的 Rspec,刚刚开始在 Rails 3 上生成一个新的控制器。它默认生成一些 Rspec 测试。我有一个关于如何让它们通过的问题。就目前情况而言,我在我的终端中看到了这个测试”
1) BuildingsController GET 'show'
应该会成功
Failure/Error: get 'show'
No route matches {:controller=>"buildings", :action=>"show"}
# ./spec/controllers/buildings_controller_spec.rb:17:in `block (3 levels) in <top (required)>'
但是,我不明白为什么它会出现,因为我已经创建了这条路线(“资源:建筑物”),并且我跑了rake routes
并确保它在那里。
建筑 GET /buildings/:id(.:format) {:action=>"show", :controller=>"buildings"}
要通过此通道需要什么?顺便说一下测试:
describe "GET 'show'" do
it "should be successful" do
get 'show'
response.should be_success
end
end
您需要传递现有建筑物的 ID:get :show, :id => @building.id
路线抱怨它是因为:id
不是可选的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)