我正在使用DbUnit和Unitils,它在大多數情況下都很有效。DbUnit:增量ID生成問題
今天我發現了一個奇怪的問題。
的情況是:
- 我使用Hibernate,並有ID以 「增量」 發電機:
<id name="Id"> <generator class="increment"/> </id>
- 我準備測試數據集,其中最大的ID是5
- 我使用乾淨插入加載策略。
- 我有兩種測試方法
test1
和test2
,每個在此表中添加一行。 test1
之後新增行的方法id = 6。test2
之後新創建的行的id爲7。
這一切都很好,我明白爲什麼這樣。但從維護角度來看,這是一個問題。如果我在兩者之間添加第三種測試方法,則即使沒有更改,方法test2
也會突然失敗,只是因爲行會得到不同的ID。
是否有無論如何我可以強制DbUnit或Hibernate在每個測試方法之前計算下一個id值?
也正確地說 – Bozho 2010-02-09 14:55:45
清理桌子通常是不夠的;您可能還必須重置表ID序列。 – pimlottc 2015-04-21 23:32:50