我正在編寫基於Hibernate/SQL的應用程序的crud API。我正在使用mysql進行測試和實況環境。Junit測試數據庫
對於測試,我有一個數據庫,用戶和特權。因此,每次測試時,我必須按照下列步驟操作:
- 刪除數據庫中的所有表。
- 運行「mvn clean install」,hibernate在db中查找表並在不存在的情況下創建它們。
我想我的測試,它不會收集我的MySQL數據庫中的垃圾,我不必每次都丟棄表。是否有一些可用於此目的的內存rdbms,以及如何根據運行環境選擇this和mysql來進行測試或生活。
我也有些DAO測試,但通常他們是單元測試 - 只是測試數據庫訪問 - 我讓這些層疊到「真實」數據庫而不是內存之一。這樣他們測試表元數據也是正確的,而不僅僅是訪問它們的代碼。但是通過測試訪問DAO的其他圖層中的代碼,我通常會對它們進行存根或模擬,而不是讓它們通過。 –
@Jim:謝謝,我編輯過,所以我不會誤解你的觀點 –