Unit testing 为单元测试用例设置批量数据

Unit testing 为单元测试用例设置批量数据,unit-testing,testing,junit,automated-tests,Unit Testing,Testing,Junit,Automated Tests,我已经用SpringMVC开发了一个处理批量数据插入/更新的应用程序。例如:有一些用例插入具有100-125个属性的记录 对于批量数据插入,我正在硬编码要插入到单元测试类中的值。我有Transfer对象来携带数据,所以我在单元测试用例中填充这些TOs,然后调用需要测试的操作。对于每个DAO,单元测试CRUD操作至少需要4个测试用例 我发现很难通过硬编码测试用例源文件中的值来填充TOs。为每个单元测试用例生成125个设置器。我希望通过从XML文件或任何类型的媒体读取数据来动态填充我的TOs,这样我

我已经用SpringMVC开发了一个处理批量数据插入/更新的应用程序。例如:有一些用例插入具有100-125个属性的记录

对于批量数据插入,我正在硬编码要插入到单元测试类中的值。我有Transfer对象来携带数据,所以我在单元测试用例中填充这些TOs,然后调用需要测试的操作。对于每个DAO,单元测试CRUD操作至少需要4个测试用例

我发现很难通过硬编码测试用例源文件中的值来填充TOs。为每个单元测试用例生成125个设置器。我希望通过从XML文件或任何类型的媒体读取数据来动态填充我的TOs,这样我就不必每次都更改测试用例的硬编码数据

在XML文件中设置数据要比在JUNIT源文件中硬编码值容易得多

我可以想出一些创新的解决方案,比如在XML文件中设置数据,然后使用任何JAXB实现来读取数据并填充TOs。。但我相信有很多简单更好的方法来处理这种需求


在这方面需要一些帮助。

也许您可以使用以下框架:

图像写入125个设置器,每个 单元测试用例

您需要处理测试数据的测试助手方法。然后调用适当的方法来填充TO:它可以是0个参数(完全随机/固定,不受测试驱动)或125个参数(完全由测试控制)(以及介于两者之间的任何参数)


不管怎样,测试中都不再有setter了。

我不确定Java单元测试框架。但在DotNet中有一个名为NBuilder的库,它可以帮助您非常轻松、快速地创建测试数据。下面是我为展示其功能而编写的一个示例

可能您可以尝试看看是否存在NBuilder的Java替代品,或者Java中是否有相同的端口可用。我发现的大多数DotNet库都是从Java世界移植来的,比如NHibernate、Spring.Net等。所以我猜您可能也有一个与NBuilder相当的Java