1

我正在使用 rspec-rails、capybara 和 poltergeist (phantomjs) 进行测试。我正在使用 Sorcery 进行身份验证 gem。

到目前为止,我只实现了基本的用户模型,我所有的路线都可以工作,除了signup_path......我不知道为什么这是唯一似乎被打破的路线。如果我在自己的浏览器 localhost:3000/register 中访问它,它确实可以正常工作

这是我的测试代码作为示例

it "shows a valid signup path", js: true do
  visit signup_path
  page.should have_content("Sign Up")
end  

我收到此错误:

expected there to be text "Sign Up" in 
"Internal Server Error undefined method `escape' for 
nil:NilClass WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) at 127.0.0.1:55402"

我可以用signup_path我的应用程序中的任何其他路线替换。测试会失败,但至少会说“找不到注册<insert content of that page here>”。因此,即使测试失败,我也可以直接在测试输出中看到该页面的内容。对于 signup_path 它只是直接失败,我自己无法查看错误,因为如果我在自己的浏览器中访问它,它会起作用。

这是我的路线

 # User
  get 'register' => 'users#new', :as => 'signup'
  resources :users, :only => [:create, :edit, :update]

  # Session Authentication
  get 'login'  => 'sessions#new',     :as => 'login'
  get 'logout' => 'sessions#destroy', :as => 'logout'
  resources :sessions, :except => [:new, :destroy]
4

0 回答 0