小编And*_*roz的帖子

使用自动测试数据进行昂贵的维护

在我的公司,我们在Java Web应用程序中使用JUnit进行了越来越多的集成测试.每个测试都使用一些特定的外部XML文件,用测试所需的数据填充数据库.问题是:

  1. 当模型发生变化时,我们需要很长时间来纠正所有XML文件(我们有数百个XML文件,其中很多都是冗余的).
  2. 手动创建XML文件的复杂性阻碍了程序员探索不同的场景.
  3. 我们在测试数据和测试之间没有链接(例如,在测试时我不知道XML插入的用户的'名称').我们可以硬编码我们需要的信息,但它也会增加维护时间,以保持XML和硬编码数据的同步.

面对这个问题,我开始考虑使用自己的系统CRUD为每个测试生成测试数据.在每次测试开始时,我会运行一些方法来保存测试所需的数据.在我看来,它将解决以下所有3个问题:

  1. 对模型的更改无论如何都需要更改CRUD,因此不再需要更正测试数据.
  2. 构建测试数据会更容易,因为我们不会担心手动匹配实体的id和外键.
  3. 我会在IDE中保证同步的所有重要数据.

但是,对我来说,缺乏开始这种方法的经验和知识.问题是:这个解决方案有效吗?这种方法会导致其他问题吗?我可以在文献中找到这种方法吗?对列出的问题有更好的解决方案吗?

java integration-testing automated-tests test-data data-driven

12
推荐指数
1
解决办法
155
查看次数