Rspec 如何测试控制器中的新记录是否具有属性

Rspec 如何测试控制器中的新记录是否具有属性,rspec,rspec-rails,Rspec,Rspec Rails,我知道我可以使用assigns查看实例变量是否分配给某个对象,但如何测试是否设置了另一个属性 class UsersController < ApplicationController def new @user = User.new @user.name = "Tom Lehrer" end end describe UsersController do it "assigns a user" do get :new expect(ass

我知道我可以使用
assigns
查看实例变量是否分配给某个对象,但如何测试是否设置了另一个属性

class UsersController < ApplicationController
  def new
     @user = User.new
     @user.name = "Tom Lehrer"
  end
end

describe UsersController do
  it "assigns a user" do
    get :new
    expect(assigns(:user)).to be_a_new(User)
  end

  it "sets the new users name" do
    # ??
  end
end
class UsersController不明显吗

User.any_instance.should_receive(:name).with("Tom Lehrer")
get :new 
这不明显吗

User.any_instance.should_receive(:name).with("Tom Lehrer")
get :new 

您可以根据
分配(:user)
进行测试:

expect(将(:user.name.)赋值给eq(“Expected name”)

您可以根据
分配(:user)进行测试。

expect(将(:user.name.)赋值给eq(“Expected name”)
分配(:user).name.should=='name here'

分配(:user).name.should=='name here'