【发布时间】:2017-01-10 15:22:25
【问题描述】:
我正在尝试更新 Rspec 中的用户:
require "rails_helper"
RSpec.describe UsersController, type: :controller do
describe "PUT #update" do
it 'should update a user' do
attr1 = { .............. }
u1 = User.create!(attr1)
put :update, { id: u1.to_param, user: attr1.merge({name: "name2", email: "email2@mail.com"}) }, format: :json
u1.reload
expect(response.status).to eq(200)
expect(u1.name).to eq("name2")
状态为 200,但在正文中,返回的属性没有更新。
【问题讨论】:
-
你的日志怎么说?
log/test.log -
控制器返回 200 并没有告诉你什么。您可以拥有一个完全不执行任何操作但仍返回 200 的控制器。请包含被测的实际代码。
-
当然是你的控制器。
-
@max 和这里的stackoverflow.com/questions/41568643/… 一样,但是要更新
-
当被要求提供补充信息时,请将其添加到问题本身。不要指望愿意帮你挖掘的人,也不要让我们猜测......
标签: ruby-on-rails ruby rspec ruby-on-rails-5