我们应该在哪里保留二进制测试数据?

时间:2015-04-29 11:06:41

标签: java junit continuous-integration

我们有大量的单元测试需要二进制数据作为输入和输出。输入很少改变,但输出不时,我们必须手动检查输出,然后提交一个新的“正确”版本。

我们目前将它们存储在一个中央文件系统上,但每次分支然后更改输出时,我们的单元测试都会中断,因为branch1的输出可能比branch2更旧。我们想版本控制这些二进制文件。我们是否应该使用诸如Sonatype Nexus或JFrog Artifactory之类的工件存储库?另外,鉴于我对Maven的仇恨,我最终会哭吗?

2 个答案:

答案 0 :(得分:2)

仅针对这些文件管理nexus可能会过于复杂,尤其是如果您对maven的处理不当。

单个svn server可能是更好的解决方案。您可以使用svn网址指向确切的revision of the artifacts

Svn很好地处理大文件。并且提交/添加资源的svn命令行将比将它们部署到nexus更直接。

如果你的情况是:大文件,需要中央服务器,需要版本控制,还没有使用maven。

答案 1 :(得分:1)

如果这些文件足够小,那么您可以将它们与测试一起存储在VCS中。

如果它不是一个选项,那么你可以手动版本,但没有任何版本控制系统。只是让文件'不可变'。只需将它们命名为xxx_v1.0.4(或xxx_2015-08-12)并复制更改,重命名文件并让新测试引用新文件。你只需要删除任何分支未使用的文件