我剛剛在Rails 5中開始了一個新項目,(我的第一個,雖然我在Rails 4.x中有幾個項目),並且在控制器規格方面有問題。Rspec 3.6,Rails 5錯誤:錯誤數量的參數(給定2,期望1)`post`請求
describe RequestsController, :type => :controller do
it "receives new request" do
post :accept_request, my_params
end
end
返回錯誤:
Failure/Error: post :accept_request, my_params
ArgumentError:
wrong number of arguments (given 2, expected 1)
我知道有已在優選的測試策略用於與導軌5的控制器的移位作爲Everyday Rails指出的,具體地,變速控制器測試到請求規格,但沒有改變這種基本的控制器測試方法。
太棒了!你能告訴我你是如何找到這個的?或關於「關鍵字參數」的進一步文檔?我做了相當多的搜索,包括Rails的升級說明和RSpec的GitHub升級部分,這仍然沒有我。只是一些幫助,如何保持更新最新的事情,像這樣或其他微妙的Rails 5更新。 – Nick
另外,FWIW,'post'仍然只接受一個動作,不需要url。 – Nick
至於我如何找到這個,我幾年來一直在回答關於控制器測試的問題,所以我馬上知道這個陳述在以前的版本中有效。這縮小了Rails 5的變化。快速搜索引發了這篇博客文章:http://blog.bigbinary.com/2016/04/19/changes-to-test-controllers-in-rails-5。其中提到切換到關鍵字參數的HTML。 – zetetic