Where should we store our binary test data?

We have a large number of unit tests that require binary data as input and output. The inputs rarely change, but is output from time to time, we have to manually check the output and then commit the new "correct" version.

We currently store them in the central filesystem, but every time we check into a branch and then change the output, our unit tests break because branch1 may have older output than branch2. We would like to version control these binaries. Should we use an artifact repository for this, like Sonatype Nexus or JFrog Artifactory? Besides, given my hatred of Maven, will I end up paying?

+3


source to share


2 answers


Managing communications for these files alone can be overwhelming, especially if you are poorly configured for maven.

One svn server is probably the best solution for you. And you can use svn url to point to the exact revision of the artifacts .



Svn does a great job with large files. And the svn command line to commit / add resources will be more direct than one to deploy to nexus.

Assuming your situation is: large files, need for a central server, required versioning, not using maven yet.

+2


source


if these files are small enough, you can save them to your VCS along with your tests.



if that's not an option, you can manually update them, but without any source control. just make the files "immutable". just name them like xxx_v1.0.4 (or xxx_2015-08-12) and copy the changes, rename the file and let your new test refer to the new file. you just need to delete files not used by any branch

+1


source







All Articles