登录的rspec测试说我使用post时有路由错误

时间:2012-06-09 00:39:18

标签: ruby-on-rails rspec

我正在使用此脚本

通过rspec测试我的登录页面
describe "Sessions" do
  describe "GET /sessions/new" do
    it "works! (now write some real specs)" do
      # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
      post "/session/new", { :username => "user", :password => "pass" }
      response.should redirect_to("/dashboard")
    end
  end
end

当我尝试这个时,rspec说:

 ActionController::RoutingError:
 No route matches [POST] "/session/new"

但是我知道/ session / new是一个有效的路由。另外,如果我只是尝试生成默认值get "sessions/new"而不是postpost_via_redirect而不尝试测试用户名和密码,那么它可以正常工作。所以基本上,我只是想测试用户发布用户名和密码的登录页面。这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是restful route,'/ sessions / new'应该只响应GET请求。此URL用于向用户提供要提交的表单。

你应该POST到“/ sessions”而不是