我计划发布一个我作为我的第一个开源项目工作的C ++项目。我使用GTest作为我的单元测试框架,并且我不知道在公共项目中包含此依赖项的常见过程是什么。
现在我将GTest作为我主要项目的一个子模块,但是看看其他项目,他们通常不会有任何子模块依赖,我认为让人们克隆GTest以及我的部分内容似乎是错误的。项目,好像他们已经将它用于自己的单元测试一样,他们最终会有重复的代码等。
这类案件的常见程序是什么?
非常感谢!
答案 0 :(得分:0)
通常我们将测试放在编译标志(或cmake变量,或autotools配置标志,或......)下,并在未检测到框架或未要求编译人员使用时禁用测试编译。
这样,不需要依赖项,但如果用户希望使用单元测试,则可以添加它。