文章目录
相信大家都能感受到Visual Studio C++ 编辑器链接 lib 或 dll文件是一件非常头疼的事情。配置gooleTest的过程也不例外。
市面上很多教程,要么就不全,要么就缺少一些细节,导致我自己再配置的过程中,踩了很多坑。今天就记录一下。
文章目录
- 文章目录
- 前言
- 一、下载gtest并编译
- 1.1 下载gtest源码
- 1.2 源码构建
- 二、生成静态库lib
- 2.1 配置属性
- 2.2 生成静态库lib
- 三、使用gtest
- 3.1 创建项目
- 3.2 引入gtest静态库
- 3.3 引入gtest头文件
- 四、检查测试工程的配置
- 4.1 检查测试工程配置
- 4.2 链接静态库
- 4.3 测试代码
- 总结
前言
我使用的配置及工具如下:
软件 | 版本 |
---|---|
Visual Studio C++ | 2022 |
CMake编译工具 | 3.21 |
操作环境 | windows10/11 |
一、下载gtest并编译
1.1 下载gtest源码
需要到github下载gtest源码,使用源码进行编译 [点击这里],解压到本地。我解压的路径是D:/googletest-main
,路径下的内容如下:
(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)
1.2 源码构建
打开cmake软件:
在where is the source
处输入你 gtest 的路径:D:/googletest-main
;
在where to build the binaries
处输入你的构建路径:D:/googletest-main/build
;
注意:这里 build 的文件夹不需要你自己创建,构建过程中会自动生成一个build文件夹,这里存储的是构建后的文件。
然后,分别点击 Configure
后,再选择你的visual studio 的版本,这里我的是2022版。
(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)
再点击 Generate
,如下所示:
点击Open Project
后,显示界面如下:
同时,你会发现在你的路径下多了一个build文件夹。
二、生成静态库lib
2.1 配置属性
右键点击解决方案中的 ALL_BUILD
-> 属性
。
设置好 配置
和 平台
,点击确定。
注意:这里的 配置 和 平台 非常重要,一定要记住!!!如果与你的测试工程不一致,调用gtest时,必会报错。
同时,设置好调试器的配置和平台:
2.2 生成静态库lib
继续右键 ALL_BUILD
-> 生成
。
回到你的安装路径下build的文件夹中会发现,在路径下D:\googletest-main\build\lib\Release
有四个lib文件。
至此,我们生成了需要调用的静态库。
三、使用gtest
3.1 创建项目
创建自己的项目:
新建一个名称为 Gtest测试.cpp
的文件,并输入我们要测试的C++代码:
3.2 引入gtest静态库
打开我们自己的 Gest测试.cpp
的工程路径,将上面生成的4个lib文件复制到工程路径下:
3.3 引入gtest头文件
同时,将gtest安装 D:\googletest-main\googletest\include
路径下的gtest
文件夹也复制到工程路径下:
四、检查测试工程的配置
4.1 检查测试工程配置
注意:检查我们测试工程的 配置 和 平台,一定要与生成 lib 时的配置(2.1节)一模一样。否则,程序会报错。
我的测试工程配置如下(2.1节的配置一样):
注意:这里测试代码的 C/C++ → 代码生成 → 运行库 也要与 googletest生成lib时的配置一样,我这里全部设置成了 多线程调试DLL(\mDd)
4.2 链接静态库
右键工程 >> 属性 >> 链接器 >> 输入 >> 附加依赖项,将4个lib文件分别填入附加依赖项中,点击确定。
4.3 测试代码
编写测试代码:
#include <iostream>
#include "gtest\gtest.h"
int add(int a, int b)
{
return a + b;
}
TEST(testCase, test0)
{
EXPECT_EQ(add(2, 3), 5);
}
int main()
{
testing::InitGoogleTest();
RUN_ALL_TESTS();
getchar();
return 0;
}
运行结果:
总结
码字不易,如果对您有帮助,点赞+收藏+关注!
(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)