2012-08-23 39 views
2

如果作爲Rails應用程序中的RSpec或Cucumber測試的一部分,我創建了一個模型並將其存儲在測試數據庫中,那麼記錄將保留多長時間?當我在軌道中的測試數據庫中放置一條記錄時,它會持續多久?

我很確定每個測試周期結束(或開始?)的記錄都被清除了,因爲它們似乎不會干擾我的測試套件的連續運行,但是記錄在不同的黃瓜功能和場景,還是在不同的RSpec測試之間?

+0

您使用的是Databasecleaner嗎? –

+0

@RishavRastogi你的意思是gem [database_cleaner](https://github.com/bmabey/database_cleaner)?不,我不這麼認爲。 – Ajedi32

回答

1

如果您使用的是事務,則在每個示例之後,更改將回滾。

如果您不使用交易,除非您使用其他技術將其清除,否則這些更改將持續存在。這是請求規範的典型案例;因此需要類似database_cleaner或手動滾動的方法來清除測試數據庫。

RSpec的默認spec_helper文件包含行:

config.use_transactional_fixtures = true 

這意味着交易將被使用。

相關問題