2012-02-24 49 views
0

/失敗節8.2.6測試簽約手續 - http://ruby.railstutorial.org/chapters/sign-in-sign-out?version=3.2#sec:signing_outRails教程 - Ch。 8 - 引發ArgumentError在RSpec的測試與我繼邁克爾·哈特爾Rails的教程,我得到了意想不到的錯誤「前」線

的代碼我用於我的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)> 

我證實,我的代碼是完全一樣的,在哈特爾的教程中的例子顯示,但我仍然得到一個失敗的測試。思考?

回答

0

capybara方法click_linkonly takes a single parameter,這是您想要激活的鏈接的名稱。所以我覺得代碼應該真的只能是:

before { click_link "Sign Out" } 

你必須看起來像thew鑑於SIGN_OUT動作結束的其餘代碼:

<%= link_to "Sign out", signout_path, method: => :delete %> 

通過使用水豚點擊鏈接,它應該已經在視圖中使用上面的代碼,所以最後的垃圾看起來像重複。

我只是刪除「方法::刪除」,看看你得到什麼。

+0

是的,剛剛在Twitter上得到了Michael Hartl的回覆,確認它確實是一個bug。 https://twitter.com/#!/railstutorial/status/173211566425128960 – Nick 2012-02-25 01:30:40

相關問題