如何在Visual Studio 2019中从零配置Google Test v1.10?
新手友好的VS2019配置Google Test v1.10分步指南
我完全懂你这种被过时教程坑、CMake配置卡壳的痛苦!给你整理了两种适合新手的分步方法,一种是VS一键配置的省心版,另一种是修正你之前CMake问题的进阶版,按需选择就行:
方法一:用NuGet快速配置(强烈推荐新手)
这种方法不用手动写复杂的CMake脚本,VS会自动帮你处理所有依赖,全程傻瓜式操作:
- 打开你的现有VS2019解决方案,右键点击解决方案 → 「添加」→ 「新建项目」
- 在搜索框输入「Google Test」,选择「Google Test 项目」(如果找不到这个选项,就去「工具」→「获取工具和功能」,在「C++桌面开发」模块里勾选「测试工具」,安装完成后重启VS即可)
- 给测试项目起个好记的名字(比如
MyProjectTests),点击「创建」 - 在弹出的配置窗口里,选择「将测试项目链接到现有项目」,然后从下拉列表里选中你要测试的现有项目,点击「确定」
- 现在测试项目已经自动配置好了Google Test v1.10!打开测试项目里的
unittest1.cpp,替换成你的测试代码就行,示例:
#include <gtest/gtest.h> // 引入现有项目的头文件,路径根据你的项目结构调整 #include "../YourExistingProject/Header.h" TEST(CalculatorTest, AddFunction) { // 调用现有项目里的函数进行测试 int result = Add(2, 3); // 验证结果是否符合预期 EXPECT_EQ(result, 5); }
- 运行测试:点击VS顶部菜单栏的「测试」→「运行所有测试」,就能在「测试资源管理器」里看到测试结果了
方法二:修正你之前的CMake配置问题
如果你还是想用CMake来配置,那我们来解决你遇到的警告和后续测试创建问题:
- 先手动下载Google Test v1.10.0的源码,解压后把文件夹重命名为
googletest,放到你的现有项目根目录下 - 在项目根目录创建
tests文件夹,专门存放测试代码 - 在根目录新建
CMakeLists.txt,写入以下代码(解决你之前遇到的「顶层CMakeLists.txt缺少project()命令」警告):
cmake_minimum_required(VERSION 3.14) # 替换成你的现有项目名称 project(MyExistingProject) # 配置你的现有项目 add_executable(MyExistingProject src/source.cpp src/Header.h) # 注意:这里的文件路径要和你现有项目的实际路径一致 # 引入Google Test add_subdirectory(googletest) # 解决Windows下的CRT运行库冲突问题 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) # 配置测试项目 add_executable(MyProjectTests tests/test_main.cpp) # 链接现有项目和Google Test的核心库 target_link_libraries(MyProjectTests PRIVATE MyExistingProject gtest_main) # 让CMake自动识别测试用例 include(GoogleTest) gtest_discover_tests(MyProjectTests)
- 在
tests文件夹里创建test_main.cpp,编写你的测试代码:
#include <gtest/gtest.h> #include "../src/Header.h" // 示例测试用例,按需修改 TEST(StringUtilsTest, TrimWhitespace) { std::string input = " Hello World "; std::string result = TrimWhitespace(input); EXPECT_EQ(result, "Hello World"); } int main(int argc, char **argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
- 回到VS2019,点击顶部「CMake」菜单 →「配置」→「配置MyExistingProject」,等待配置完成
- 配置完成后,在「解决方案资源管理器」的「CMake目标」里找到
MyProjectTests,右键选择「设为启动项」,点击运行按钮就能执行所有测试了
小提示
- 如果测试项目找不到现有项目的头文件:右键测试项目 →「属性」→「C/C++」→「常规」→「附加包含目录」,添加现有项目头文件所在的路径
- 如果遇到链接错误:确保测试项目已经正确链接了现有项目的可执行文件或库(方法一里VS已经自动处理,方法二里CMake的
target_link_libraries也帮你搞定了)
内容的提问来源于stack exchange,提问作者JerSci
相关产品推荐
相关产品推荐

