簡體   English   中英

DBUnit是否會更改數據庫的實際狀態?

[英]Does DBUnit change the actual state of the database?

例如,在將數據源設置為實際數據庫並使用@DatabaseSetup將其設置為狀態后,會發生以下哪些情況?

1)DBUnit連接到實際數據庫,刪除所有內容,插入@DatabaseSetup中指定的記錄,測試案例,然后回滾。

2)DBUnit以某種方式基於數據源創建一個內存數據庫,設置內存數據庫。 實際數據庫中沒有任何更改。

3)魔術。

DBUnit如何工作? 謝謝。

DBUnit完全按照您的要求執行操作。 如果將其連接到真實數據庫,則可以,它將作用於真實數據庫。 如果您告訴它對內存數據庫執行操作,那么它就是這樣做的。

如果讓它執行CLEAN_INSERT,則它將擦除您要加載的數據集中指定的所有表中的所有數據,然后加載該數據集,然后將其刪除。 一開始擦除的數據將不會恢復原狀。

如果使用DBUnit進行測試,通常不會將其指向實際(即生產)數據庫。 相反,您將創建某種副本並將其指向該副本。 該副本可以是您數據庫的真實實例,可以是內存中的某個實例,可以用虛擬數據或真實數據的副本填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM