我爲Spring應用程序編寫集成測試。覆蓋生成的ID
對於測試我使用Spock框架。
問題是我想在每次測試之前保存2個對象,我想在每次測試後刪除所有對象。
當我調用測試方法findById
爲id 1和2我得到這些對象。 但是當我再次findById
測試呼籲ID 1和2我取得編號爲3和4的對象
休眠策略ID我用的是:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
,問題是我怎麼能測試或者我如何強制hibernate不創建新的標識符?
是的,我的設置看起來像這樣,但我使用@Before – user
好吧......但您確實有保存的實體,並且您確實擁有該ID。那麼問題是什麼? –
當第一次測試運行時,我有db 2對象與id 1和2.如果我爲1和2調用findById我得到成功測試,因爲在這個時間在db中的實體具有這些id。但是,當下一次測試運行在分貝我有2個對象,但與id 3和4,測試失敗。 – user