Visual Studio 2022中如何在C++库项目内运行Google Tests
在Visual Studio 2022的库项目中运行Google Tests的实现方案
1. 调整结构并添加测试代码
- 按目标结构将
main/src/tests/test.cpp移动到myLibrary/tests/test.cpp路径下 - 在Visual Studio中右键点击
myLibrary项目 → 添加 → 现有项,选中移动后的test.cpp添加到项目内
2. 引入Google Test依赖
如果项目还未集成Google Test,通过NuGet快速安装:
- 右键
myLibrary项目 → 管理NuGet程序包 - 搜索适配VS2022的Google Test包(如
Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn),安装完成后自动配置依赖
3. 新增测试专属配置(避免影响库输出)
库项目默认输出为.lib/.dll,无法直接作为启动项运行,我们可以新增独立配置来生成测试用可执行文件:
- 点击VS顶部工具栏的配置管理器(Debug/Release下拉箭头内)
- 在
myLibrary项目的「配置」列点击下拉 → 新建 - 配置名称设为
Debug_Test(可自定义),复制设置自Debug,勾选「创建新的解决方案配置」后确认 - 右键
myLibrary项目 → 属性,切换到Debug_Test配置:- 进入配置属性 → 常规,将输出类型改为
应用程序(.exe) - 进入配置属性 → 链接器 → 系统,将子系统改为
控制台 (/SUBSYSTEM:CONSOLE)
- 进入配置属性 → 常规,将输出类型改为
4. 添加测试入口代码
在test.cpp中补充Google Test的主入口(如果没有的话),示例如下:
#include <gtest/gtest.h> // 引入你的库头文件,路径根据实际结构调整 #include "../src/library.h" // 测试用例示例 TEST(MyLibraryTest, BasicFunctionTest) { // 调用库内函数编写断言逻辑 ASSERT_TRUE(your_library_function() == expected_result); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
5. 运行测试
- 在VS顶部配置下拉框选择
Debug_Test(你创建的测试配置) - 右键
myLibrary项目 → 设为启动项目 - 点击运行按钮即可执行所有测试用例
补充说明
- 切换回原
Debug/Release配置时,项目仍会正常生成库文件,不影响原有发布流程 - 确保测试代码中头文件引用路径正确,避免编译错误
内容的提问来源于stack exchange,提问作者Lachlan
相关产品推荐
相关产品推荐

