2010-09-27 85 views
2

我已經開發了一個處理批量數據插入/更新的Spring MVC應用程序。例如:有些用例插入一個具有100-125個屬性的記錄。針對單元測試案例設置的批量數據

對於批量數據插入,我硬編碼要插入我的單元測試類中的值。我有傳輸對象來傳輸數據,所以我在我的單元測試用例中填充這些TO,然後調用要測試的所需操作。對於每個DAO,單元測試CRUD操作至少需要4個測試用例。

我發現通過硬編碼測試用例源文件中的值來填充TO非常困難。想象爲每個單元測試案例編寫125個setter。我想通過從XML文件或任何類型的介質讀取數據來動態填充我的TO,這樣我就不必每次都更改測試用例的硬編碼數據。

在XML文件中設置數據比硬編碼JUNIT源文件中的值要容易得多。

我可以想到一些創新的解決方案,比如在XML文件中設置數據,然後使用任何JAXB實現來讀取和填充TOs ..但我相信有很多簡單和更好的方法來處理這種需求。

需要一些幫助。

回答

1

成像寫125個setter方法對每個 單元測試用例。

您需要測試幫助方法來處理測試數據。然後你調用填充TO的適當方法:它可能只有0個參數(完全是隨機/固定的,不是測試驅動的)或多達125個(完全由測試控制)(以及其間的任何內容)。

無論哪種方式沒有測試中的setters。

1

我不確定Java單元測試框架。但是在DotNet中有一個名爲NBuilder的庫,它可以幫助您非常輕鬆,快速地創建測試數據。這是我寫的一個blog來演示它的功能。

可能您可以嘗試查看是否存在NBuilder的Java替代品,或者是否存在Java中可用的端口。我發現的大部分DotNet庫都是從Java世界移植來的,比如NHibernate,Spring.Net等等。所以我的猜測是你可能也有一個與NBuilder相當的Java。