![](/img/trans.png)
[英]Cucumber devise sign in step failing (rails 3.2, cucumber, capybara, rspec)
[英]Devise Parameter Sanitizer not working with Cucumber / Capybara / Rspec
我正在嘗試從Rails 4.0升級到4.1
我的所有sign_in測試都突然失敗,並出現以下錯誤:
undefined method `visit' for #<Devise::ParameterSanitizer:0x007fe83cf0b898> (NoMethodError)
有沒有人遇到這個錯誤? 知道如何解決嗎? 看起來step_definitions的范圍被指向錯誤的對象,但是我不知道如何將其指向明智的東西。
這些步驟都調用類似此方法的內容:
def sign_in_as_client
visit 'users/sign_in'
fill_in "user_login", :with => @client_params[:email]
fill_in "Password", :with => @client_params[:password]
click_button "Sign in" rescue nil
end
將設計放回v3.5.9,這似乎使它消失了。 很高興聽到關於設計4+的建議。
將sign_in
(和其他)方法移到ActionDispatch::IntegrationTest
類中可以為我解決此問題:
之前(失敗):
class ActionDispatch::IntegrationTest
...
end
def sign_in(email='scott.miller@test.com')
visit "/en/users/sign_in"
...
end
之后(工作):
class ActionDispatch::IntegrationTest
...
def sign_in(email='scott.miller@test.com')
visit "/en/users/sign_in"
...
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.