我的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。我错过了什么?
答案 0 :(得分:0)
您的视图可能正在使用已创建用户的持久值。如果要修改name
属性,您可能还希望将其保留到数据库中,以便随后可以在控制器和/或视图中拾取它,这很可能从数据库中提取用户。
尝试将更新后的值保存到测试中的数据库中。像这样的东西
user.update(name: 'John')