在我的Rails應用程序5我使用等等這些寶石:無法更新Rspec的與設計和DeviseTokenAuth用戶,但創建和刪除做工精細
gem "devise", "~> 4.2.0"
gem "devise_token_auth"
我的用戶模型:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :rememberable, :trackable, :validatable
include DeviseTokenAuth::Concerns::User
我無法創建更新用戶的Rspec請求。無論我嘗試過,它是失敗的:
require "rails_helper"
RSpec.describe UsersController, type: :controller do
describe "PATCH #update" do
context "with valid params" do
it "updates the requested user" do
u1 = create(:user)
patch :update, params: { id: u1.to_param, user: attributes_for(:user, name: "name_new", email: "[email protected]") },
format: :json
u1.reload
expect(u1.name).to eq("name_new")
end
end
事情是,一個創建和刪除用戶的測試效果很好。只有更新沒有。
它在補丁請求期間發送新參數,但用戶返回的參數始終是舊的。錯誤是什麼 - 我不知道,只是說測試失敗了。再次 - 只有一個用於更新。
我試過使用PUT和POST - 仍然失敗。
我已經試過了。 – Otaffa
你能用錯誤跟蹤編輯你的問題嗎? –