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

简介: 【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工具、获取安装教程、咨询博主)


相关文章
|
21天前
|
Windows
Microsoft Visual C++2015-2019 安装失败 0x80240017
Microsoft Visual C++2015-2019 安装失败 0x80240017
32 0
|
28天前
|
JSON C++ 数据格式
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
|
5天前
|
前端开发 JavaScript 开发工具
Sublime Text 3配置C/C++开发环境
【4月更文挑战第15天】本篇 Huazie 介绍了 Sublime Text 3 配置 C/C++ 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。
23 1
Sublime Text 3配置C/C++开发环境
|
21天前
|
编译器 C语言 C++
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
|
22天前
|
Ubuntu 开发工具 git
ubuntu18.04下配置muduoC++11环境
以上步骤将在Ubuntu 18.04下配置C++11环境,并编译安装muduo库。请根据实际情况对配置步骤进行调整。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
18 0
|
23天前
|
人工智能 NoSQL 机器人
【C++】VS code如何配置使用C++(手把手教学)
【C++】VS code如何配置使用C++(手把手教学)
|
1天前
|
存储 Java C++
【C++类和对象】探索static成员、友元以及内部类
【C++类和对象】探索static成员、友元以及内部类
|
1天前
|
安全 程序员 编译器
【C++类和对象】初始化列表与隐式类型转换
【C++类和对象】初始化列表与隐式类型转换
|
1天前
|
安全 编译器 C++
【C++类和对象】const成员函数及流插入提取
【C++类和对象】const成员函数及流插入提取
|
1天前
|
存储 C++
【C++类和对象】日期类的实现(下)
【C++类和对象】日期类的实现