假设我正在开发一些开源软件,用解释性语言编写,作为 Git 存储库管理,需要大型数据集 (+300 MB) 进行基本测试。
是否应该将测试数据放入与源代码相同的存储库中,并使用用于发布版本的 compileToZipFile.sh
脚本?将 srcRepo 和 testRepo 存储为两个单独的存储库会更好吗?
任何最佳实践/约定将不胜感激。
最佳答案
我认为这个问题的最佳答案是基于需求。
在我的工作中,我们按环境类型分离我们的代码/测试数据,例如:
- 测试
- 质量检查
- 暂存
- 制作
某些环境具有与生产相同的数据,而其他环境具有较旧(或完全不同)的数据。这样做的好处是:
- 用于测试、实现和“玩”新想法/技术的沙盒。
- 您不会影响面向客户的实时数据。
- 集成测试可以迎合/专注于与主要代码库无关的某些方面。
现在,关于您的问题...正如我上面提到的,数据的隔离使我们能够快速做出更改并实现新功能,因为我们使用的数据集中于我们正在测试的内容。我们有三个中继线,它们都有独立的测试数据,这些数据特定于需要测试的内容。在测试 View
时,我们有一组测试,在测试 Model
时,我们有另一组测试,在测试 Controller
时,我们还有另一组测试。最后,我们有一套全面的集成测试,在发布新版本时运行。在除最后一种情况之外的所有情况下,测试都与为其创建的组件一起使用;但同样,由于它们是集成测试,因此将它们与它们验证的三个部分分开保存是有道理的。
我认为你的想法很可靠。
关于git - 存储库中的大型测试数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16903232/