我有一些integrtion測試,從JPA實體創建一個HSQL數據庫。除了自動增量ID以外,這一切都可以正常工作。這些似乎存儲在測試之間,而不是重置。例如,如果我在測試1中添加兩個項目,那麼這兩行的HSQL中的id值是1和2.在我的設置中,我然後銷燬數據庫。在測試2中,我添加一個項目,ID爲3,而不是返回1.我使用Spring作爲事務管理器並連接所有依賴關係。有沒有人知道可能是什麼原因造成的?自動增量與HSQL,休眠和彈簧和測試
我不想檢查id本身,但我確實發現這很煩人。
在此先感謝
我有一些integrtion測試,從JPA實體創建一個HSQL數據庫。除了自動增量ID以外,這一切都可以正常工作。這些似乎存儲在測試之間,而不是重置。例如,如果我在測試1中添加兩個項目,那麼這兩行的HSQL中的id值是1和2.在我的設置中,我然後銷燬數據庫。在測試2中,我添加一個項目,ID爲3,而不是返回1.我使用Spring作爲事務管理器並連接所有依賴關係。有沒有人知道可能是什麼原因造成的?自動增量與HSQL,休眠和彈簧和測試
我不想檢查id本身,但我確實發現這很煩人。
在此先感謝
這是預期的。自動遞增ID由數據庫處理,因此,除非您在每次測試之前刪除表並重新創建它們(您不應該這樣做),否則ID將不斷增加。
只是不要在測試中依賴ID的絕對值。從設置測試用例時創建的實體中獲取ID值。
嘗試Unitils。這些工具可以刪除數據庫表併爲每個測試用例自動重新創建它們。當然,你有其他的選擇,你可以選擇。這些是從here採取
可能您覺得這個工具有用。