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

Maven 放置大型测试数据集的最佳实践?,maven,svn,jenkins,dataset,integration-testing,Maven,Svn,Jenkins,Dataset,Integration Testing,我正在处理大量的数据(比如视频),大多数集成测试至少需要这些数据的一个子集 这些测试文件(子集)的范围从200MB到2GB 哪里是放置这些文件的好地方?理想情况下,他们不会直接进入我们的版本控制系统,因为人们不必每次都下载5GB+的测试数据来检查项目 每当发生模式更改时,Jenkins都需要更新测试数据(我们已经解决了这一部分),因此如果有人想运行集成测试,maven或svn都需要下载最新版本 如果可以按需运行,那就太好了,因为我们从不在本地同时运行所有测试(例如,如果我们正在运行TestX,那

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

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

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

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

如果可以按需运行,那就太好了,因为我们从不在本地同时运行所有测试(例如,如果我们正在运行TestX,那么在运行之前下载该测试所需的文件)

有人对如何处理这个问题有什么建议吗


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

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


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

忘记接受此选项;我们最终将所有数据放在NAS上。