win10搭建gtest测试环境+vs2019

首先是下载gtest,这个我已经放在了博客上方资源绑定处,这个适用于win10+vs版本,关于liunx版本的不能用这个。

或者百度网盘链接:

链接:https://pan.baidu.com/s/15m62KAJ29vNe1mrmAcmehA 
提取码:vfxz

下载下来解压到文件夹,再在文件夹里面新建一个build文件夹,如下:

再安装cmake,可以先检查一下是否安装了cmake,打开命令窗口,输入cmake -version:

我这里是已经安装好了,所以有显示版本号,如果没有可以下载:

链接:https://pan.baidu.com/s/1wsO51P4EIQtVN5_kLFbRtA 
提取码:mc79

然后双击就对了,我这里已经安装好了,无法提供截图,注意一点就是在让选择是否建立系统环境变量(path)的时候,记得勾上第二个建立系统环境变量!

下载好之后,记得检验一下是否安装成功,如果在普通用户下显示没有,建议用管理员身份打开命令窗口,再次尝试。

之后命令窗口进入创建的build文件夹路径里面执行cmake ../,回车:

我这里没图了,截一张大佬的图:

安装好会发现build文件夹里面生成了工程文件:

再用vs打开ALL_BUILD.vcxproj文件:

右键点击生成:

就会生成Release的静态库,再切换到Debug模式再跑一次:

查看build->lib文件夹下是否都有库文件了:

本人后面的操作都是针对release版本X64 希望大家与我保持一致,不然可能会有库的错误,建议第一遍通了再试其他模式下。

首先建立一个vs工程文件,将gtest项目里面的include文件夹下面的头文件和lib->release下面的库文件拷贝到新工程文件下面(当然也可以选择不拷贝,要是后续有报错再拷贝也可以)。

再再工程文件里面的源文件里新建一个cpp文件,我这里建立的1.cpp

将如下测试代码粘贴进去,这是一个简单的测试用例,为了验证环境是否搭建成功:

#include<iostream>
#include "gtest/gtest.h"
using namespace std;int add(int a, int b) {return a + b;
}//这里TEST中的两个参数是自定义的,主要是为了标记,可以自定义
//一个TEST就是一个测试用例,一个测试案例中可以有多个断言
TEST(lzb, test_01) {EXPECT_EQ(4, add(2, 2));EXPECT_GE(5, add(2, 2));
}TEST(lzb, test_02) {EXPECT_LE(3, add(2, 2));
}TEST(ly, test_01) {EXPECT_GT(add(2, 2), 1);
}
int main() {testing::InitGoogleTest();	//初始化,负责注册需要运行的所有测试用例RUN_ALL_TESTS();system("pause");return 0;		//宏RUN_ALL_TEST负责执行所有测试,如果全部成功则返回0,否则返回1。
}

此时检查一下自己工程上方是不是Release、x64:

接下来选择项目->属性:

对包含文件和库文件进行编辑,位置分别是gtest下面的include路径和lib路径,也就是上方复制到工程里面的两个文件夹路径,以下所有配置的平台都是Release、x64:

再将库文件加入进来,打开链接器->输入->附加依赖库->编辑:

gmock.lib
gmock_main.lib
gtest.lib
gtest_main.lib

此时返回项目,应该就不会有报错了,运行即可。如果想用Debug模式,配置过程是一样的。

简单的环境搭建和小例子就跑通啦,有什么问题欢迎评论区留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133922.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java学习之道】日期与时间处理类

引言 在前面的章节中&#xff0c;我们介绍了Java语言的基础知识和核心技能&#xff0c;现在我们将进一步探讨Java中的常用类库和工具。这些工具和类库将帮助我们更高效地进行Java程序开发。在本节中&#xff0c;我们将一起学习日期与时间处理类的使用。 一、为什么需要日期和…

Harmony ArkTS语言

ArkTS语言 前言正文一、声明式UI二、数据列表① 创建ArkTS文件② 添加资源③ 样式④ 组件⑤ 标题组件⑥ 列表头组件⑦ 列表Item组件⑧ 组件生命周期⑨ 渲染列表数据⑩ 单选 三、源码 随着华为宣布鸿蒙后续的版本不再兼容Android应用之后&#xff0c;对于现在的开发环境来说有一…

4.04 用户中心-我的订单评价

内容实现效果&#xff1a; 代码实现内容查看&#xff1a; http://www.gxcode.top/code

MyBatis基础之自动映射、映射类型、文件注解双配置

文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件&#xff08;settings 元素部分&#xff09;中&#xff0c;有一个 autoMappingBehavior 配置&#xff0c;其默认值为 PARTIAL &#xff0c;表示 MyBatis 会自动映射&…

排序:如何用快排思想在O(n)内查找第K大元素?

文章来源于极客时间前google工程师−王争专栏。 冒泡排序、插入排序、选择排序三种排序算法&#xff0c;时间复杂度都是O(n^2)&#xff0c;比较高&#xff0c;适合小规模数据的排序。 归并排序和快速排序两种时间复杂度O(nlogn)的排序算法&#xff0c;适合大规模的数据排序&am…

ElementUI编辑表格单元格与查看模式切换的应用

需求&#xff1a;有时候在填写表单的时候&#xff0c;想要在输入的时候是input输入框的状态&#xff0c;但是当鼠标移出输入框失去焦点时&#xff0c;希望是查看的状态&#xff0c;这种场景可以通过 v-if实现 vue2ElementUi里面使用如下&#xff1a; 1.el-table标签注册 cell-…

docker入门加实战—docker常见命令

docker入门加实战—docker常见命令 在介绍命令之前&#xff0c;先用一副图形象的展示一下docker的命令&#xff1a; 常见命令 docker的常见命令和文档地址如下表&#xff1a; 命令说明文档地址docker pull拉取镜像docker pulldocker push推送镜像到DockerRegistrydocker pus…

[GXYCTF2019]BabyUpload - 文件上传+绕过(后缀文件类型文件内容.htaccess)

[GXYCTF2019]BabyUpload 解题流程 解题流程 1、上传一句话&#xff0c;提示“后缀不允许ph” 2、修改后缀为jpg&#xff0c;提示“上传类型也太露骨了吧&#xff01;” 3、修改类型为image/jpeg&#xff0c;提示“诶&#xff0c;别蒙我啊&#xff0c;这标志明显还是php啊” 4、…

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

miRNA测序数据生信分析——第四讲&#xff0c;未知物种的生信分析实例 miRNA测序数据生信分析——第四讲&#xff0c;未知物种的生信分析实例1. 下载测序数据2. 原始数据质控——软件fastqc3. 注释tRNA和rRNA&#xff0c;使用Rfam数据库——软件blast&#xff0c;Rfam_statisti…

贴片电容材质的区别与电容的主要作用

一、贴片电容材质NPO、COG、X7R、X5R、Y5V、Z5U区别 主要是介质材料不同&#xff0c;不同介质种类由于它的主要极化类型不一样&#xff0c;其对电场变化的响应速度和极化率也不一样。在相同的体积下的容量就不同&#xff0c;随之带来的电容器介质的损耗、容量的稳定性也就不同…

Jenkins集成newman

一、Docker环境准备 二、Jenkins环境准备 三、登录Jenkins 安装NodeJs插件 四、Jenkins全局工具配置Nodejs 五、创建Jenkins自由风格项目 构建步骤1&#xff1a;选择Execute NodeJS script构建步骤2&#xff1a;选择执行shell脚本 六、将postman相关的脚本、环境变量数据、全局…

【QT】Ubuntu 交叉编译安装 QT 5.12.7 源码

目录 1、下载 QT 源码包 2、搭建安装环境(下载依赖库) 3、创建QT源码编译脚本 4、运行编译脚本 1、下载 QT 源码包 QT5.12.7源码下载地址: download | QT 5.12.7 选择任意一种下载即可&#xff0c;适用于 Windows 和 Linux 环境 这里选择的是.tar.xz 类型&#xff0c;上…