我在java中构建一个模块,用于提取rar,zip和7zip等档案。 我想在所有情况下为这个模块编写单元测试:
我为每个案例制作了测试文件,并将它们添加到测试资源中,现在我的项目非常繁重(测试提取大型档案的存档大小为1 GB)。
我的团队使用git作为vcs,所以我需要将所有测试资源(1GB)上传到git,如果我想要通过所有测试。
这个测试有一个更好的解决方案,或者我必须将所有测试资源上传到git并使我的小模块成为一个巨大的模块?
答案 0 :(得分:2)
这个测试有一个更好的解决方案,或者我必须将所有测试资源上传到git
您当然可以上传测试的来源,但不能上传所述测试的(1GB)数据 这些数据属于外部引用(如工件引用,Nexus或Artifactory/),以便您的Java测试项目查询它们并使用它们(通常通过maven依赖项):在那种类型中对于参考,您可以毫无问题地存储GB数据。
话虽如此,对于真正的单元测试,你应该依赖于外部参考,所以另一种方法是让那些测试在本地生成(一次,在它们第一次执行时)那些巨大的文件。
然后,在后续执行相同的测试时,可以重用那些巨大的本地文件。