2010-09-12 76 views
3

假設我正在爲UserDAO執行單元測試方法。我正在爲UserDao的刪除方法編寫測試。我會先插入一個用戶到數據庫,然後調用刪除方法,並驗證對象是否仍然存在。單元測試DAO

我的問題是:對於刪除單元測試,當我插入用戶進行測試時,我應該調用UserDao的插入方法...還是最好不要調用任何方法的對象,我是測試和使用本地方式,比如說使用jdbc做插入,然後調用我的刪除方法?

回答

1

DAO通常太簡單了,我認爲在測試上花費資源是不值得的。你的解釋看起來就是這樣。

只有當涉及到某些邏輯(構建更復雜的查詢)時,我會考慮測試某些部分。

也許提供一些代碼片斷來幫助更多。

1

使用DBUnit或類似的東西來設置測試數據。 DBUnit允許您指定爲測試插入的測試數據,甚至可以指定一個乾淨的插入,刪除所有內容(從具有爲其指定的測試數據的表中),然後只插入您想要的內容。如果測試彼此獨立,那麼最​​好不要讓插入代碼出現問題,導致依賴於其進行安裝的其他測試出現問題。

+0

我一定會檢查出來,但我想答案不回答我的問題。我猜沒有使用DBUnit,你會如何回答我的問題。 – Glide 2010-09-21 23:15:49

+0

沒有DBUnit,我仍然希望有一種方法來清理數據庫並在每次測試之前設置數據,以便它們具有明確的啓動狀態並且不依賴於順序。這意味着我仍然希望避免使用dao插入數據,因爲它不那麼明確。 – 2010-09-22 12:55:42