gtest配置过程

1、配置前准备:

电脑环境:Windows7 旗舰版
gtest代码:https://github.com/google/googletest
IDE:visual studio 2015专业版

2、下载源代码:

昨天学习了git刚好可以用上:git学习笔记
直接通过git clone下载源代码带本地电脑

3、进入googletest源代码目录如下:

这里写图片描述

4、打开通过vs打开sln文件

一共4个project,图中的my_demo是我自己添加的
这里写图片描述

5、逐个进行build

最好先后在Debug和Release两种方式下分别进行build,注意这里不小心可能会有坑,这里选择了Debug那么下面的测试项目也要选择Debug模式下并选择MTD模式,编译最后在目录msvc\gtest\Debug\中可以看到如下:
这里写图片描述

6、简单的测试

新建一个my_demo项目,设置项目属性:
1、在C/C++->Gereral->Additional Include Directories添加头文件目录googletest\include
2、在Linker->Input->Additional Dependencies中添加前面build生成的gtestd.lib和gtest_maind.lib
3、在C/C++->Code Generation->Running Library改为MTD
以上为Debug下的修改,也可以针对Release进行不同的修改,这里过程略

my_demo中的测试代码如下:

int add(int a, int b)
{
    return a + b;
}

TEST(fun, add)
{
    EXPECT_EQ(1, add(1, 1));
}
int main(int argc, char* argv[])
{
    ::testing::InitGoogleTest(&argc, argv);

    return RUN_ALL_TESTS();
}

结果截图:
这里写图片描述
结果具体含义以后学习了再回来补充

7、扩展MT、MTd、MD、MDd

MT:multi-threaded
MTd:mult-threaded Debug
MD:mult-threaded DLL
MDd:mult-threaded DLL Debug
后面带有小d都是debug模式下使用的,其他都是release模式下使用的
拥有大D的表示使用的动态库DLL,其他都是静态库lib,至于好处与坏处这又涉及到了动静态链接的优缺点了。

### 配置 Google Test (gtest) 的方法 #### 安装依赖包 为了顺利安装并使用 Google Test,在 Ubuntu 中需先安装一些必要的开发工具和库。这可以通过执行以下命令来完成: ```bash sudo apt update && sudo apt install -y build-essential cmake git pkg-config ``` 上述命令会更新本地软件源列表,并安装 `build-essential`、`cmake` 和其他辅助工具[^2]。 #### 获取 Google Test 源码 可以从 GitHub 上克隆官方仓库获取最新版本的 Google Test 源代码,也可以通过下载特定版本压缩包的方式获得。这里推荐采用 Git 方式拉取项目以便于后续维护升级操作: ```bash git clone https://github.com/google/googletest.git /opt/gtest cd /opt/gtest mkdir build && cd build cmake .. make ``` 此过程将在 `/opt/gtest/build` 文件夹内构建 Google Test 库文件[^1]。 #### 编译与安装 编译完成后可以将生成的目标文件拷贝到系统的标准路径下方便全局访问: ```bash sudo cp -r googlemock/include/* /usr/local/include/ sudo cp lib/*.a /usr/local/lib/ ``` 另外一种更简便的做法是在 CMake 构建过程中指定安装位置并通过 `make install` 命令自动部署资源: ```bash cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local sudo make install ``` 这样就可以把头文件放置在 `/usr/local/include` 而静态链接库则位于 `/usr/local/lib` 目录下了[^3]。 #### 测试环境验证 最后编写一段简单的单元测试程序用于检验 GTest 是否正常工作: ```cpp #include <gtest/gtest.h> TEST(SampleTest, BasicAssertions) { EXPECT_TRUE(true); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 保存以上代码至名为 `sample_test.cpp` 的文件中,接着利用 g++ 或者 clang++ 来编译它并与刚才安装好的 GTest 进行连接: ```bash g++ sample_test.cpp -lgtest -lpthread -o test_sample ./test_sample ``` 如果一切无误的话应该能看到类似 `[==========] Running 1 test from 1 test suite.` 的输出信息表示测试成功运行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值