Git子模块是不是强迫库用户下载其测试的好主意?

时间:2016-01-21 10:30:46

标签: git testing git-submodules

在开发代码库时,我想将其测试与实际代码有效负载分开,因为我相信当有人使用我的库时,他们只是想使用它而且他们对测试它并不感兴趣 - 测试是我的责任,而不是我的用户'。

我知道存储空间很便宜,带宽也是如此,但我的原则是不要浪费其中任何一个。

我正在考虑将所有测试代码放入一个单独的git存储库中,并将其用作主存储库中的git子模块。

这样,那些感兴趣的人仍然可以获取并执行测试,但通常在克隆主存储库时,唯一的额外文件是子模块的空目录和.gitmodules文件。

这是个好主意吗?

2 个答案:

答案 0 :(得分:3)

当然,你可以这样做。但是子模块是一个棘手的问题,有时它们有点复杂,所以对于一些不熟悉它们的用户来说需要时间。

在我看来,您可以使用库打包测试。根据您的语言,您可以将它们放入自己的包(Java)中,这样您就可以在构建发布包时在构建脚本(Ant / Make)中将它们排除。

存储非常便宜,使用子模块是一件非常棘手的事情。此外,对于某些人(比如我)来说,运行测试是相当困难的,当你必须看看子模块是如何工作的时候会变得更加困难。另外,请记住:良好的测试也可以用作文档。

答案 1 :(得分:2)

我将实际库作为一个存储库,将测试作为另一个存储库,然后在超级项目中包含两个子模块,链接两个子模块的匹配版本。在这种情况下,只需要图书馆的用户就不需要了解测试的存在性,他们也不必以任何方式处理子模块。

熟悉子模块的用户可以克隆超级项目,如果他们也对测试感兴趣,则可以选择测试有效负载。