2013-08-03 24 views
2

我目前正在建立一個自動測試使用Selenium和Behat的PHP應用程序是使用MySQL與InnoDB引擎的數據庫。該數據庫大約有50GB,其中包含大量數據。 測試運行良好,但是目前我在每次新的測試運行之前都要努力進行清理。自動測試,與MySQL的behat

由於測試插入數據(例如創建用戶),我想在每次測試運行之前將數據庫置於已知狀態。清理腳本由於數據之間的關係很複雜,所以沒有副作用。

我的問題是,如果在執行Behat功能之前,是否有任何好方法以快速方式將數據庫恢復到已知狀態(50GB是大量數據)?

回答

3

請勿使用50GB的數據進行測試。創建一個數據庫專用於測試的數據較少。

0

您可以使用事務處理「幹運行」模式來回滾所有查詢。這不會恢復您的數據庫的某個狀態,但它可以讓您與您的數據進行交互,而無需進行任何更改。