为什么当我使用 FactoryGirl 创建记录并稍后更新该记录时 factorygirl 实例未更新?例如,如果我有以下工厂和 rspec 测试:
factory :foo do
bar false
end
在 rspec 测试内部:
foo = FactoryGirl.create(:foo)
Foo.first.update_attribute(:bar, true)
expect(foo.bar).to eq(true) #foo.bar is false and will fail
如果我将foo.bar
最后一行更改为Foo.first.bar
通过,为什么会出现差异?FactoryGirl 实例是否没有直接关联到记录?执行测试expect(foo).to eq(Foo.first)
返回 true 那么它们不是同一个对象吗?