覆盖让对象?

时间:2014-02-26 04:27:29

标签: ruby rspec

我的rspec中有以下内容:

context 'being an admin' do
  let(:user) { create(:user) }

  scenario '...' do
  end

  scenario '...' do
  end
end

如何覆盖特定方案的用户方法?假设我想要第3个场景,user.name会响应新内容。

我试过这个:

scenario '...' do
user.name = 'John'
end

但在视图中它会一直显示默认的user.name。我错过了什么?

1 个答案:

答案 0 :(得分:0)

您的视图可能正在使用已创建用户的持久值。如果要修改name属性,您可能还希望将其保留到数据库中,以便随后可以在控制器和/或视图中拾取它,这很可能从数据库中提取用户。

尝试将更新后的值保存到测试中的数据库中。像这样的东西

user.update(name: 'John')