我正在关注Michael Hartl撰写的Rails教程,我在第8.2.6节“注销”中遇到意外错误/失败测试 - http://ruby.railstutorial.org/chapters/sign-in-sign-out?version=3.2#sec:signing_out
我用于RSpec测试失败的代码可以在清单8.28中找到。以下代码:
before { click_link "Sign out", method: :delete }
发出以下错误:
ArgumentError: wrong number of arguments (2 for 1)
# (eval):2:in 'click_link'
# ./spec/requests/authentication_pages_spec.rb:35:in 'block (5 levels) in <top (required)>
我确认我的代码与Hartl教程中的示例完全相同,但我仍然遇到了失败的测试。想法?
答案 0 :(得分:0)
capybara方法click_link
only takes a single parameter,这是您要激活的链接的名称。所以我认为代码应该只是:
before { click_link "Sign Out" }
您拥有的其余代码看起来像是thew视图中sign_out操作的结尾:
<%= link_to "Sign out", signout_path, method: => :delete %>
通过使用Capybara单击链接,它应该已经在视图中使用上面的代码,所以最后一个垃圾似乎是重复。
我只想删除“方法::删除”,看看你得到了什么。