3
オンラインで記事の例だけでなくテストが書かれていれば、与えられた例と一致するように書式を修正しようとしても問題の修正方法を説明しています。私は40回の警告私は実行するたびに、完全なテストスイート駆除警告:ActionController :: TestCase HTTPリクエストメソッドはキーワード引数のみを受け入れるでしょう
GET example
it "renders the #show view" do
food = create(:food)
get :show, params: { id: food.id }
expect(response).to render_template :show
end
CREATE Example
it "redirects to user page of user who uploaded food" do
food_params = FactoryGirl.attributes_for(:food)
post :create, :food => food_params
expect(response).to redirect_to user_path(@user.id)
end
SHOW example
it "assigns the requested food to @food" do
food = create(:food)
get :show, params: { id: food.id }
expect(assigns(:food)).to eq(food)
end
DELETE
it "deletes the food" do
expect{ delete :destroy, id: @food}.to change(Food, :count).by(-1)
end
it "redirects to user page of user who deleted food" do
delete :destroy, id: @food
expect(response).to redirect_to user_path(@user.id)
end
PUT
it "located the requested @food" do
put :update, id: @food, food: FactoryGirl.attributes_for(:food)
expect(assigns(:food)).to eq(@food)
end
it "changes @food's attributes" do
put :update, id: @food,
food: FactoryGirl.attributes_for(:food, title: "Yummers", kind: "Salad")
@food.reload
expect(@food.title).to eq("Yummers")
expect(@food.kind).to eq("Salad")
end
は私が私のプットとのトラブルを抱えて、同様のメソッドを削除しています実現。これが働いてありがとうございます。私は同じパターンに従ってみましたが、まだ警告を受けていました。テストをパスするために元のフォームに戻しましたが、私の編集内容をチェックして、それらを変更する必要があるかどうか確認できますか? –
'delete:destroy、params:{id:@food.id}'は動作するはずです。両方の 'it'ブロックでそれを変更してください。 –
ありがとう!それは働いた –