测试C++代码:使用测试库

4
我已经学了一段时间的C++,但这是我第一次涉及C++项目(一个宠物配置解析器库)。 我正在使用Google C++测试框架来进行测试。 但我不知道我是否做得正确。
目前,我从Google测试库中剥离了一些部分,并将其放入我的项目Test/googletest目录中。 这个方法可以工作,但我想知道我是否应该这样做。 我在我的项目中包含了测试框架的源代码,并将与我的代码一起发布。 这让我感到不舒服。
我浏览了GitHub上的一些C ++项目,试图了解其他人如何处理这个问题。有些人有自定义的测试框架,大多数人则根本不测试代码。
我想知道我是否正确,否则我如何采用一种测试方法,既可让框架脱离源码树,又能让用户构建和执行测试?
1个回答

3
关于你的构建方式,你做得很对。gtest的readme明确表示,将gtest构建(你可以从两个目标文件中打包libgtest.a)与你的项目一起构建是首选方式。
关于分发: 理想情况下,你的构建工具(make、CMake等)应该从自己的存储库中检出/获取所需的gtest版本。但是如果你在自己的存储库中添加一个“external”文件夹,并包含像gtest这样的内容,我认为也没有太大问题。

那么,检查分发的用户如果想要测试构建,则需要安装svn。这是社区中的通行做法吗? - user1621465
我只能从我的经验中说起。但是,如果你通过svn/git检出一个项目,你可以期望安装那个特定的系统,不是吗?据我所知,gtest在svn和git上都可用。 但是我只是根据我手头几个项目的经验来说,并不了解"社区中的一般做法"。 - b.buchhold
1
据我所知,gtest没有git仓库,但我可以维护他们仓库的git镜像。这种“在进行测试时获取”的方法似乎是个好主意。谢谢! - user1621465

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接