2013-12-10 25 views
0

我沿着侧gradle和ScalaTest使用了Scala。Scala/Gradle项目...在哪里存储超大单元测试所需的文件?

只是想知道......人们在哪里存储“大”(65 MB)但单元测试需要的文件对象。我的应用程序对这些大文件进行图像处理。

我有一个函数,这样的文件的本地链路,并计算一个有用的指标:-)

我想单元测试此功能。我想为这个功能做大约10个单元测试,所以我正在查看10个不同的图像文件(65 * 10 = 650MB)....我应该在哪里存储这些数据?有什么想法吗 ?一个想法是将它存储在S3上,并在每次单元测试启动时自动下载它?将数据存储在源代码库中会很糟糕,因为它会使源代码下载这么一个更长的过程......任何想法?你们有什么感想 ?

干杯!

回答

0

可以通过某些URL访问文件并从测试中下载它们(如果它们本地不存在),或将它们打包为Maven/Ivy依赖项,将它们发布到Maven/Ivy存储库,然后将它们他们使用Gradle的依赖管理。对大型文件使用版本控制通常不是一个好主意。

0

那么,如果你使用Git ....我会使用Git Submodules,如果你不使用git,我仍然会使用一个单独的git存储库来托管大而不真的那么大的文件。

继承人的事情。这些文件都没有那么大的今天的标准,并作为开发人员,如果我能源控制它。我的源代码控制它,除非它:

  • 永远不要去改变和公开(即发行库)。在千兆
  • 大规模大

如果你不使用git我想你可以写在单元测试中下载的文件的东西,但那么你可能会想要做的验证文件的校验如果文件的变化不会很好,只下载增量.....所有这些git做的。

虽然如果你确实想要从你的单元测试中自动下载文件看看jgit,但我只是包含开发者指令和构建脚本来手动执行git去下载文件。