DBUnit:取决于时间在 delta 上导入一个 XML 文件?
DBUnit: Depends the time to import a XML file on the delta?
我分析了一个测试自动化框架,目标是加快速度。
在此框架中,DBUnit 将用于使数据库处于特定状态。在分析过程中,我认识到以下几点:
- 导入DBUnitXML文件的时间与文件大小无关
- 当前数据库状态与 XML 文件将创建的状态之间的差异越大,导入所需的时间就越长
谁能确认或否决?
如果这是真的,那么清空数据库并应用导入文件会更快吗? (无需更新或删除,只需插入。)
如果这是错误的,导入时间的真正原因是什么?
还有其他方法可以加快导入速度吗? (来自 DBUnit 网站的性能提示已经到位。)
感谢您的帮助!
为了获得最快的性能,我首选的典型测试方法是:
- in-memory/embedded 数据库,例如 Apache Derby,在启动测试之前自动启动in-memory/embedded
- 任何表中都没有现有的行;将其任何文件存储在构建输出目录
的子目录中时,嵌入式数据库和干净的构建会自动发生
- dbUnit 配置为 DatabaseOperation.CLEAN_INSERT [0].
- 每个测试的最小 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
我分析了一个测试自动化框架,目标是加快速度。
在此框架中,DBUnit 将用于使数据库处于特定状态。在分析过程中,我认识到以下几点:
- 导入DBUnitXML文件的时间与文件大小无关
- 当前数据库状态与 XML 文件将创建的状态之间的差异越大,导入所需的时间就越长
谁能确认或否决?
如果这是真的,那么清空数据库并应用导入文件会更快吗? (无需更新或删除,只需插入。)
如果这是错误的,导入时间的真正原因是什么? 还有其他方法可以加快导入速度吗? (来自 DBUnit 网站的性能提示已经到位。)
感谢您的帮助!
为了获得最快的性能,我首选的典型测试方法是:
- in-memory/embedded 数据库,例如 Apache Derby,在启动测试之前自动启动in-memory/embedded
- 任何表中都没有现有的行;将其任何文件存储在构建输出目录 的子目录中时,嵌入式数据库和干净的构建会自动发生
- dbUnit 配置为 DatabaseOperation.CLEAN_INSERT [0].
- 每个测试的最小 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