2016-10-27 4 views
3

Я продолжаю получать это предупреждение даже после того, как попытался исправить формат, соответствующий тому, который указан после того, как тест написан, а также примеры из статей в Интернете объясняя, как исправить проблемы. Я хотел бы сделать это правильно, так что мне не придется беспокоиться о том, не испытывая правильно, а также, так что я не получаю 40 ПРЕДУПРЕЖДЕНИЙ каждый раз, когда я бегу полного набора тестовDEPRECATION WARNING: 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 

ответ

4

Вы получаете это из вашего примера CREATE, где вы передаете параметры в старом стиле.

Изменить это:

post :create, :food => food_params 

Для этого:

post :create, params: { food: food_params } 
+0

Спасибо это работает .. Я понял, что у меня возникают проблемы с моими путы и удалить методы. Я пробовал следовать той же схеме, но все еще получал предупреждение. Я поменял их на свою первоначальную форму, чтобы пройти тесты, но можете ли вы проверить мое редактирование, чтобы увидеть, что я должен изменить с ними? –

+0

'delete: destroy, params: {id: @ food.id}' должен работать. Убедитесь, что вы изменили его в обоих блоках 'it'. –

+0

спасибо! что сработало –

Смежные вопросы