2015-09-04 150 views
1

我是新来测试,我有一个问题。Rails路线测试

此代码测试该路线是否正确,好吗?

test "root should route to home#index" do 
assert_routing "/", {controller: "home", action: "index"} 
end 

我该如何测试相反的?我有

resources :sessions, :only=>[:new, :create, :destroy] 

在我的路线。我如何测试你无法输入会话#编辑?

难道我不应该测试它吗?

编辑:我忘了提及它,我使用的是默认工具。

回答

0

你可以试试这个,它会失败,除非测试assert_generates提出了一个“UrlGenerationError” =>无法生成会话的URL#编辑

test "route should not exist" do 
    begin 
    assert_generates "sessions/edit", controller: :sessions, action: :edit 
    flunk "Route to should not exist" 
    rescue ActionController::UrlGenerationError 
    end 
end 
+0

哦...这是一个很好的方法,非常感谢你:) – Nabe