升级到Capybara 2.1.0时,我无法使用spec / support中的visit
方法(获得undefined method 'visit'
)。
代码如下:
include ApplicationHelper
include SessionsHelper
def sign_in(user)
visit signin_path
fill_in "Email-signin", with: user.email
fill_in "Password-signin", with: user.password
click_button "Sign in"
end
我尝试了get
而不是visit
,但我也得到了undefined method 'get'
。
我还可以使用其他方法吗?
编辑:
我使用的是Ruby 4.0.0和Capybara 2.1.0。
Capybara在2.1.0中进行了更改,因此他们的DSL仅在规格/功能中可用,并且由于此功能是按规格/支持编写的,因此我无法访问Capybara的DSL。我不介意,这就是为什么我搜索visit
替代品。
解决方法:
我在顶部添加了include Capybara::DSL
。但是,我得到including Capybara::DSL in the global scope is not recommended!
我同意,我想改变/改进它。所以,现在它是一个快速修复。