放置大型测试数据集的最佳实践?

时间:2013-11-21 23:03:27

标签: maven svn jenkins dataset integration-testing

我正在处理大量数据(比如视频),大多数集成测试至少需要这个数据的一个不错的子集。

这些测试文件(子集)的范围可以从200MB到2GB。

放置这些文件的好地方在哪里?理想情况下,他们不会直接进入我们的版本控制系统,因为每次他们想要检查项目时,人们不必下载5GB +的测试数据。

每当发生架构更改时,Jenkins都需要更新测试数据(我们已经找到了这部分),因此如果有人想要运行集成测试,maven或svn需要下载最新版本。

由于我们从未在本地同时运行所有测试(例如,如果我们运行TestX,然后在运行之前下载此测试所需的文件),那将是非常好的。

是否有人对如何处理这个问题有任何建议?

编辑 - 为了简单起见,我们假设测试文件是不可压缩的。

1 个答案:

答案 0 :(得分:2)

在这种情况下,我会设置一个文件服务器共享,它以一种组织良好的方式包含所有测试数据。然后让您的测试自己下载必要的测试数据。优点是您可以在中央位置更新测试数据,而无需自行更新测试。下次测试运行时,将下载新的测试数据。

如果您需要版本控制,您可以使用像Nexus这样的存储库管理器而不是简单的文件系统。如果您需要审计能力,我会建议像subversion这样的存储库管理器。但是,请确保您仅为您的testdata使用单独的repo,因此您可以通过将其替换为仅加载最新testdata的空repo来轻松清理repo。