如何检查控制器中的实例对象是否在RESTTP的rspec中设置了属性?

时间:2014-07-25 22:14:31

标签: ruby-on-rails ruby rspec

我正在使用带有rails的REST方法,并且我没有在控制器中使用符号“@user”。

我的控制器示例:

def create
    user = User.new
    user.star = true
    user.save
    ...
end

对于经典的导轨应用this the solution

expect(assigns(:user).star).to be_present

但与使用@不同,我需要访问user

我怎样才能实现这一目标? 谢谢!

1 个答案:

答案 0 :(得分:2)

由于您正在创建用户,因此您只需加载最后创建的用户:

describe 'create action' do
  let(:user) { User.last }

  it 'sets star to true' do
    post :create, user: {}
    expect(user.star).to be_truthy
  end
end