web-dev-qa-db-fra.com

Rspec 3.6, Rails 5: nombre incorrect d'arguments (donné 2, attendu 1) pour la demande `post`

Je viens de commencer un nouveau projet dans Rails 5, (mon premier, même si j'ai plusieurs projets dans Rails 4.x.) et j'ai des problèmes avec le contrôleur) spécifications.

describe RequestsController, :type => :controller do

  it "receives new request" do
    post :accept_request, my_params
  end

end

Renvoie l'erreur:

 Failure/Error: post :accept_request, my_params

 ArgumentError:
   wrong number of arguments (given 2, expected 1)

Je comprends qu'il y a eu un changement dans la stratégie de test préférée pour les contrôleurs avec Rails 5 comme indiqué sur Everyday Rails , en particulier, le déplacement des tests du contrôleur dans les spécifications de la demande, mais non Parlez des modifications apportées à cette méthode de base de test du contrôleur.

16
Nick

Il semble que Rails 5 attend des arguments de mot-clé au lieu d'arguments de hachage, ce qui est un changement par rapport aux versions précédentes. De plus, le premier argument est une URL plutôt qu'une action. Essayez

post some_url, params: some_hash
29
zetetic