管理Junit测试的测试数据

时间:2010-06-10 16:52:13

标签: java unit-testing testing junit

我们在管理测试数据时遇到一个问题(xmls用于创建模拟对象)。我们目前的数据已经在很长一段时间内得到了发展。每次我们添加新功能或测试用例时,我们都会添加新数据来测试该功能。     现在,问题是当业务需求改变格式(如变量的长度或格式)或测试数据不支持的任何更改时,我们需要更改整个测试数据的大小为100的MB。     有谁能建议一个更好的方法或过程来克服这个问题?任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:8)

就个人而言,我会在测试用例之外的任何地方远离为测试用例创建数据。创建数据生成器,而不是创建测试数据,这些数据生成器允许在每个测试用例内或每个块之前快速生成对象。

这有两个主要优点:

  1. 它使测试更容易阅读,因为开发人员可以准确地看到正在使用的对象和
  2. 它应该大大减少您需要管理的测试数据量。
  3. 保留功能和集成测试等测试数据,并使用DBDeploy等工具来管理数据。这些数据需要保持很小的数据。使用DBDeploy和DBUnit允许在每个测试或测试套件之前清理数据库。这也应该限制您需要的数据量,因为它大大增加了数据重用。

答案 1 :(得分:3)

虽然这不是您问题的完整解决方案,但肯定有帮助(尤其是因为您拥有100个MB的数据) - 根据行为验证而不是<编写测试strong>数据验证。

Martin Fowler有一篇非常好的文章here