0

我有一个支持数据库视图的类。我正在使用 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 中做到这一点?或者有没有办法将我的更改提交到数据库并清理它?我不想关闭所有测试的事务,只是能够测试这个特定的类。

4

1 回答 1

2

let!(:user) { FactoryGirl.create(:user) }

您可能还想查看database_cleaner宝石。

于 2013-02-23T19:02:06.600 回答