![](/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.