2013-02-23 118 views
0

我有一個支持數據庫視圖的類。我使用FactoryGirl嘗試和測試這個讓我去完成創建user例如像這樣的正常步驟:RSpec - 如何測試數據庫視圖?

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

爲什麼要創建一個用戶觸摸「餘額」表? – nicooga 2013-02-23 18:01:07

回答

2

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

您可能還需要尋找到了database_cleaner寶石。

+0

我們使用了database_cleaner gem。是最簡單的選擇。 – Brandon 2013-03-06 03:59:19