web-dev-qa-db-ja.com

Rspec 3.6、Rails 5エラー: `post`リクエストの引数の数が間違っています(2、1が必要です)

Rails 5で新しいプロジェクトを開始したばかりです(最初にRails 4.x.)にいくつかのプロジェクトがありますが)、コントローラに問題がありますスペック。

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)

Rails 5 Everyday Rails に記載されているように、具体的には、コントローラーテストをリクエストスペックにシフトしますが、このコントローラーテストの基本的な方法の変更点について説明します。

16
Nick

Rails 5は、以前のバージョンからの変更点であるハッシュ引数ではなく、キーワード引数を想定しています。また、最初の引数はアクションではなくURLです。試してください。

post some_url, params: some_hash
29
zetetic