我試圖加快運行我的集成測試套件。對於每個集成測試類,它都會在運行測試之前重新創建整個內存中的H2數據庫 - 這佔用了大部分時間。我正在測試的所有方法都在Spring/Hibernate堆棧中。加速集成測試套件
有沒有辦法避免爲每個測試重新創建數據庫,同時確保數據庫處於乾淨狀態?
我正在測試一些方法來啓動新的Hibernate事務的調用方法 - 所以不確定是否有可能在每次測試之前開始一個新的事務並將所有事情都回滾後。
我試圖加快運行我的集成測試套件。對於每個集成測試類,它都會在運行測試之前重新創建整個內存中的H2數據庫 - 這佔用了大部分時間。我正在測試的所有方法都在Spring/Hibernate堆棧中。加速集成測試套件
有沒有辦法避免爲每個測試重新創建數據庫,同時確保數據庫處於乾淨狀態?
我正在測試一些方法來啓動新的Hibernate事務的調用方法 - 所以不確定是否有可能在每次測試之前開始一個新的事務並將所有事情都回滾後。
這是使用@Transactional
和@RunWith(SpringJunit4TestRunner.class)
時的默認行爲(回滾)。
有關完整信息,請參閱Integration Testing Chapter。
似乎從這篇文章http://stackoverflow.com/questions/5178708/how-to-rollback-nested-transactions-with-propagation-requires-new-in-integration有沒有簡單的方法來這樣做和最好的解決方案是在每次測試後重新創建數據庫。 – Glide