You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编译Google Test和Google Mock库并在VS控制台程序中使用(不依赖模板)

在Visual Studio中手动集成Google Test(gtest/gmock)到控制台/空项目

一、编译Google Test源码

基于你已下载的gtest源码压缩包,按以下步骤生成静态库:

  • 解压源码到本地目录,比如D:\googletest
  • 在源码根目录新建build文件夹,用于存放编译输出文件
  • 打开CMake GUI,完成以下操作:
    1. 点击Browse Source选择源码根目录(D:\googletest)
    2. 点击Browse Build选择刚创建的build文件夹
    3. 点击Configure,选择你的Visual Studio版本(如VS2022)和平台(x86/x64),等待配置完成后点击Generate生成VS工程
  • 打开build文件夹里的GoogleTest.sln,分别切换到Debug和Release配置,编译整个解决方案
  • 编译完成后,静态库会生成在build\lib对应配置的子文件夹中:Debug版本带d后缀(如gtestd.lib、gmockd.lib),Release版本无后缀(如gtest.lib、gmock.lib),同时会生成gtest_main和gmock_main系列库(用于自动生成main函数)

二、创建并配置测试项目

  1. 打开Visual Studio,新建空项目或控制台应用项目(命名比如MyGTestProject)
  2. 右键项目 → 属性,按不同配置做如下设置:
    • C/C++ → 常规 → 附加包含目录:添加gtest和gmock的头文件目录,比如D:\googletest\googletest\include、D:\googletest\googlemock\include
    • 链接器 → 常规 → 附加库目录:Debug配置填D:\googletest\build\lib\Debug,Release配置填D:\googletest\build\lib\Release
    • 链接器 → 输入 → 附加依赖项:Debug配置填gtestd.lib;gtest_maind.lib;gmockd.lib;gmock_maind.lib,Release配置填gtest.lib;gtest_main.lib;gmock.lib;gmock_main.lib
    • 提示:如果不需要gmock,可只添加gtest相关库;如果自己编写main函数,可去掉gtest_main系列库

三、编写测试代码

在项目中新建.cpp文件(比如test.cpp),写入示例代码:

// 被测函数示例
int Add(int a, int b) {
    return a + b;
}

// 测试用例:验证正整数相加逻辑
TEST(AddTest, PositiveNumbers) {
    EXPECT_EQ(Add(2, 3), 5); // 失败时继续执行后续断言
    ASSERT_EQ(Add(10, 20), 30); // 失败时终止当前测试用例
}

// 测试用例:验证负整数相加逻辑
TEST(AddTest, NegativeNumbers) {
    EXPECT_EQ(Add(-2, -3), -5);
}

// 若未链接gtest_main库,需手动编写main函数
int main(int argc, char** argv) {
    testing::InitGoogleTest(&argc, argv); // 初始化gtest
    return RUN_ALL_TESTS(); // 运行所有测试用例
}

四、运行测试

  • 选择对应配置(Debug/Release),将当前项目设为启动项目
  • 按F5编译运行,控制台会输出测试结果,包括通过用例数、失败用例数及详细失败信息

常见问题排查

  • 链接错误:检查附加库目录是否匹配当前配置(Debug/Release),lib文件名是否带正确后缀
  • 头文件找不到:确认附加包含目录已正确添加gtest和gmock的include文件夹
  • gmock异常:确保gmock的lib已添加,且与gtest库版本一致

内容的提问来源于stack exchange,提问作者Shashank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:17:15