设计、Rspec和测试get#x27;新';在注册控制器中

设计、Rspec和测试get#x27;新';在注册控制器中,rspec,devise,Rspec,Devise,我得到以下错误: 1) RegistrationsController has an registration page load up successfully Failure/Error: response.code.should == 200 expected: 200 got: "404" (using ==) # ./spec/controllers/registrations_controller_spec.rb:6:in

我得到以下错误:


1) RegistrationsController has an registration page load up successfully
     Failure/Error: response.code.should == 200
       expected: 200
            got: "404" (using ==)
     # ./spec/controllers/registrations_controller_spec.rb:6:in `block (2 levels) in '
根据该代码:


require 'spec_helper'

describe RegistrationsController do
  it "has an registration page load up successfully" do
    get :new
    response.code.should == 200
  end
end
我可以在浏览器中成功访问该页面

在我得到不可避免的“你不应该测试他们的代码”的评论之前,我正在尝试测试我的自定义注册页面,这给了我同样的错误,所以我想我应该检查/register页面的控制路径,这是我的登录页面


想知道为什么我得的不是200而是404?调试提示?我可以发布任何您需要的帮助和感谢。

事实证明,您在访问任何Desive routes的测试中都需要这些,因为它不使用路由器,或者rspec不使用路由器或类似的东西

仅仅在其他地方拥有它是不够的,但是当你改变他们自己的路线时,把它扔进去


require 'spec_helper'

describe RegistrationsController do
  it "has an registration page load up successfully" do
    @request.env["devise.mapping"] = Devise.mappings[:user] #assuming your using :user routes
    get :new
    response.code.should == 200
  end
end