2009-07-30 51 views
0

目前我們通過爲每個實體編寫java servlet併爲每個實體執行Insert,update,delete,find ...來測試實體類和「worker」類,以確保其正常工作。工作者類只是一個接口的實現,它使用JDBC將實體持久化到數據庫,他們爲實體執行DB工作。測試Java數據庫實體類

我想知道的是什麼是在Java中測試實體類的最佳方法?

我正在尋找一種自動化方法,而不是編寫基本上是一個模擬應用程序,它調用了我試圖爲每個創建的新實體測試的所有函數。

+0

你所要求的與簡單單元測試有什麼不同? – 2009-07-30 17:20:46

回答

2

您應該能夠獨立設置和使用實體和「工作人員」(如您所說)類或servlet和Web容器。

純JDBC和JUnit,您通常會執行以下操作:

  1. 公開賽在TestCase構造一個JDBC連接。
  2. 開始交易setUp()
  3. tearDown()上回滾事務。
  4. 在特定的testXxx()方法中使用實際實體實例。

在這種方法中,您將爲每個開發人員創建一個可能爲本地的數據庫實例。對於更高級的東西,請考慮DbUnit

0

一種選擇是使用反射來查找實體的不同部分(即不同的字段),然後讓方法使用這些不同的實體調用保存,更新,刪除等。然後,當你添加一個新的實體時,如果你的設置是使用xml或類似的東西來完成的,那麼測試將會把它們加入。

我是從Hibernate用戶的角度來講的,所以這可能不完全適用於您的情況,但它在過去對我很好。

+0

你能澄清「使用反射」部分嗎?這將如何幫助確定填充實體的值?特別是因爲它們中的一些(多數?)可能在應用程序和/或數據庫級別上有約束。 – ChssPly76 2009-07-30 19:04:40