我使用Spring MVC开发了一个处理批量数据插入/更新的应用程序。例如:有一些用例插入具有100-125个属性的记录。
对于批量数据插入,我很难对要插入单元测试类中的值进行编码。我有Transfer Object来传输数据,所以我在我的Unit测试用例中填充这些TO,然后调用所需的操作进行测试。对于每个DAO,单元测试CRUD操作至少需要4个测试用例。
我发现很难通过硬编码我的测试用例源文件中的值来填充TO。为每个单元测试案例编写125个setter。我想通过从XML文件或任何类型的媒体中读取数据来动态填充我的TO,这样我就不需要每次都更改测试用例的硬编码数据。
在XML文件中设置数据比在JUNIT源文件中对值进行硬编码要容易得多。
我可以想到一些创新的解决方案,比如在XML文件中设置数据,然后使用任何JAXB实现来读取相同的内容并填充TO ..但我相信有很多简单而且更好的方法来处理这种要求
需要一些帮助。
答案 0 :(得分:1)
也许你可以使用这个框架:
答案 1 :(得分:1)
为每个人编写125个setter 单元测试用例。
您需要测试辅助方法来处理测试数据。然后你调用填充TO的适当方法:它可以是0个参数(完全随机/固定,不是测试驱动)或多达125个(完全由测试控制)(以及介于两者之间的任何东西)。
无论哪种方式都不再在测试中使用。
答案 2 :(得分:1)
我不确定Java单元测试框架。但在DotNet中有一个名为NBuilder的库,它可以帮助您轻松快速地创建测试数据。这是我写的blog来证明它的能力。
可能您可以尝试查看是否存在NBuilder的Java替代方案,或者Java中是否存在相同的端口。我找到的大多数DotNet库都是从Java世界移植过来的,比如NHibernate,Spring.Net等。所以我的猜测是你也可能有一个类似于NBuilder的Java。