DBUnit:取决于在delta上导入XML文件的时间?

时间:2016-02-15 16:15:47

标签: database dbunit

我分析了一个测试自动化框架,目标是加快它的速度。

在此框架中,DBUnit将用于创建特定的数据库状态。在分析过程中,我认识到以下几点:

  • 导入DBUnit XML文件的时间与文件大小无关
  • 当前数据库状态与XML文件将创建的状态之间的差值越大,导入时间越长

有人可以确认或否决吗?

如果这是真的,那么发现数据库并应用导入文件会更快吗? (不需要更新或删除,只需插入。)

如果这是错误的,导入时间的真正原因是什么? 有没有其他方法来加快进口? (DBUnit网站的性能提示已经应用。)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我最喜欢的典型测试方法是:

  1. 内存/嵌入式数据库的速度,例如Apache Derby,在启动测试之前自动启动
  2. 任何表中都没有现有行;在将任何文件存储在构建输出目录的子目录中时,使用嵌入式数据库和干净构建自动发生
  3. 使用DatabaseOperation.CLEAN_INSERT [0]配置的dbUnit。
  4. 每个测试的最小dbUnit数据。
  5. 这三件事应该为测试提供良好,快速的设置。

      

    导入DBUnit XML文件的时间与文件大小无关

    数据库越慢,数据文件大小越大,性能越低。 根据我的经验,数据文件的大小总是很小,因为它只是测试所需的数据,只需要几个额外的行来确保查询的准确性,所以这就变得不相关了。

      

    当前数据库状态与XML文件将创建的状态之间的差值越大,导入的时间越长

    差异越大,dbUnit必须为准备数据生成的语句越多,这需要花费时间来执行。

    [0] http://dbunit.sourceforge.net/components.html#DatabaseOperation