我想知道人們發現他們的最佳實踐是測試Hibernate映射和查詢嗎?測試Hibernate映射的最佳實踐
這不能用單元測試完成,所以我的經驗是編寫集成測試,它只向下測試DAO層。通過這種方式,我可以完全測試每個插入/更新/刪除/ ReadQueries,而無需測試完整的端到端解決方案。
每當集成測試套件運行它會: -
- 刪除並重新創建數據庫。
- 運行包含數據子集的導入SQL腳本。
- 在回滾事務的事務性上下文中運行每個測試。因此,它可以作爲獨立測試運行多次,或作爲套件的一部分運行,並且由於數據庫始終處於已知狀態,因此會返回相同的結果。
我從不測試一個不同的「內存」數據庫,因爲總是有一個等效的開發數據庫來測試。
我從來沒有必要使用DBUnit。
感謝您的反饋(和其他人!!)。知道別人做什麼非常有用。你能澄清,如果你的測試回滾插入/更新/刪除?我的想法是數據庫應該處於相同的狀態,因爲如果你想重新運行一個單獨的測試或者測試類。如果測試改變數據庫,理論上你可以改變每次運行測試的行爲。 – Alex
是的。 Spring測試框架處理這個問題。 –
那麼對於那些不使用彈簧的人來說最好的解決方案。 – monksy