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

DBUnit: Depends the time to import a XML file on the delta?

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

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

谁能确认或否决?

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

如果这是错误的,导入时间的真正原因是什么? 还有其他方法可以加快导入速度吗? (来自 DBUnit 网站的性能提示已经到位。)

感谢您的帮助!

为了获得最快的性能,我首选的典型测试方法是:

  1. in-memory/embedded 数据库,例如 Apache Derby,在启动测试之前自动启动in-memory/embedded
  2. 任何表中都没有现有的行;将其任何文件存储在构建输出目录
  3. 的子目录中时,嵌入式数据库和干净的构建会自动发生
  4. dbUnit 配置为 DatabaseOperation.CLEAN_INSERT [0].
  5. 每个测试的最小 dbUnit 数据。

这三件事应该可以为测试提供良好、快速的设置。

The time to import a DBUnit XML file has nothing to do with the file size

数据库越慢,数据文件越大,性能就越慢。 以我的经验,数据文件的大小总是很小的,因为它只是测试所需的数据,再加上一些额外的行来保证查询的准确性,所以这个就变得无关紧要了。

The bigger the delta between the current database status and the status the XML file will create, the longer takes the import

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

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