我有一个支持数据库视图的类。我正在使用FactoryGirl来测试这个,所以我按照正常步骤创建user
实例,如下所示:
before(:each) do
@user = FactoryGirl.create(:user)
end
然后我查看了查看次数:
Balance.all.count # It is returning 0, it should be returning 1
我对数据库视图的理解是,在事务提交到数据库之前,它们才会更新。我有一个使用NHibernate的背景,为了从数据库中获取更新的值,我会做类似的事情:
Session.Flush();
这样我就可以查询数据库视图并获取更新的值,但稍后仍会回滚或提交我的事务。
有没有办法在ActiveRecord中执行此操作?或者有没有办法将我的更改提交到数据库并清理它?我不想关闭所有测试的事务,只能测试这个特定的类。
答案 0 :(得分:2)
let!(:user) { FactoryGirl.create(:user) }
您可能还想查看database_cleaner
宝石。