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

标签 unit-testing testing junit automated-tests

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

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

我发现通过对测试用例源文件中的值进行硬编码来填充 TO 非常困难。想象一下为每个单元测试用例编写 125 个 setter。我想通过从 XML 文件或任何类型的媒体读取数据来动态填充我的 TO,这样我就不需要每次都更改测试用例的硬编码数据。

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

我可以想到一些创新的解决方案,例如在 XML 文件中设置数据,然后使用任何 JAXB 实现来读取数据并填充 TO。但我相信有一些简单且更好的方法来处理此类需求.

需要一些帮助。

最佳答案

Imaging writing 125 setters for every unit test case.

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

无论如何,测试中不再有设置者。

关于unit-testing - 为单元测试用例设置批量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3801200/

相关文章:

java - 使用Junit输出对象的测试方法

java - 无法调试 gwt 2.8 和 java 1.8 版本的 gwt 测试

swift - 测试在私有(private)变量中保留其状态的类

c# - 使用 C# 使用 FsCheck 生成随机字符串

node.js - 从 bot.on ('send' 调用 processMessage())

ruby - 在 rails 3.0.1 中测试自定义路由不起作用,还是我?

java - jUnit:通用测试类 - 将测试名称设置为类/方法名称以外的其他名称?

unit-testing - Laravel mock

c++ - boost 测试 : catch user defined exceptions

javascript - 在 Angular version1 中,我如何测试我的 scope.$on 监听器是否被调用?