【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)

文章目录

相信大家都能感受到Visual Studio C++ 编辑器链接 lib 或 dll文件是一件非常头疼的事情。配置gooleTest的过程也不例外。
市面上很多教程,要么就不全,要么就缺少一些细节,导致我自己再配置的过程中,踩了很多坑。今天就记录一下。


前言

我使用的配置及工具如下:

软件 版本
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工具、获取安装教程、咨询博主)

猜你喜欢

转载自blog.csdn.net/weixin_44244190/article/details/129278803