Google Test入门教程:从下载到运行
- 本文以VS2019为例,自己的工程使用Debug x64,多线程调试DLL(/MDd),用户可以根据自己需求更改配置,只要所有配置前后统一即可。
- 第一步:clone Google Test源码
- 打开https://github.com/google/googletest,通过git克隆或者下载ZIP的方式得到源码。
- 打开https://github.com/google/googletest,通过git克隆或者下载ZIP的方式得到源码。
- 第二步:生成Google Test的lib
- 在VS2019中,导入.\googletest\msvc\2010\gtest-md.sln
- 修改vs中的解决方案配置,将其修改为和你要测试的工程配置相同,这里以“Debug x64”为例
- vs中,Debug和Release生成的lib库是不同的,分别为gtestd.lib和gtest.lib,两个是不同的,不可混用。
- 在解决方案资源管理器中修改工程的属性
- 确保配置为Debug x64。
- 修改配置属性-C/C++-代码生成-运行库,将其修改为和你要测试的工程配置相同,这里以“多线程调试DLL(/MDd)”为例

- 编译,生成
- debug、release两个模式需要分别设置、编译生成。
- 编译后,在msvc/gtest/下有debug、release两个文件夹。
- 共生成4个文件
- googletest\msvc\2010\gtest\x64-Debug - Debug方案下的二进制文件:gtestd.lib、gtest_maind.lib(注意主文件名的d后缀)
- googletest\msvc\2010\gtest\x64-Release - Release方案下的二进制文件:gtest.lib、gtest_main.lib
- 第三步:单元测试
- 在要测试的工程中,添加-新建项-Google Test
为要测试的工程添加lib。
- 首先确保解决方案配置和工程配置中都是Debug x64。
- 配置属性-C/C++-代码生成-运行库是多线程调试DLL(/MDd)。
- 配置属性-C/C++-常规”,在“附加包含目录”中添加“xxx\googletest\include;”(xxx为源码的路径)。
- 配置属性-链接器-输入-附加依赖项,添加从googletest生成的两个lib:gtest_maind.lib和gtestd.lib。
- 第四步:可以写测试了,写在你新建的Google Test.cpp里,作为启动项运行即可
#include "gtest/gtest.h"
#include "TestFunction.h" //MyAdd(int a, int b) { return a+b; } TEST(MyAdd, 4plus4)
{
EXPECT_EQ(MyAdd(,), );
EXPECT_TRUE(true);
}//通过 TEST(MyAdd, 5plus5)
{
EXPECT_EQ(MyAdd(, ), );
EXPECT_TRUE(true);
}//不通过 int main(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);//将命令行参数传递给gtest
return RUN_ALL_TESTS(); //RUN_ALL_TESTS()运行所有测试案例
system("pause");
}
- 运行结果
Google Test入门教程:从下载到运行的更多相关文章
- Google Guava入门教程
以下资料整理自网络 一.Google Guava入门介绍 引言 Guava 工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] .缓存 [cachi ...
- Ant Design Pro入门教程,安装,运行(V5 Typescript版)
[前言] 找了很多Admin模板,最后还是看中了AntDesignPro这个阿里巴巴开源的Admin框架,长这样(还行吧,目前挺主流的): 官网地址:https://pro.ant.design/in ...
- testng入门教程1在testng运行一个简单的testcase
在eclips运行java,创建一个Java类文件名TestNGSimpleTest C:\ > TestNG_WORKSPACE import org.testng.annotations. ...
- Webpack 入门教程
Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 本章节基于 Webpack3.0 测试通过. 从图中我们可以看出,W ...
- PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程
一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...
- Python 3.6.3 官网 下载 安装 测试 入门教程 (windows)
1. 官网下载 Python 3.6.3 访问 Python 官网 https://www.python.org/ 点击 Downloads => Python 3.6.3 下载 Python ...
- ABP入门教程4 - 初始化运行
点这里进入ABP入门教程目录 编译解决方案 重新生成解决方案,确保生成成功. 连接数据库 打开JD.CRS.Web.Host / appsettings.json,修改数据库连接设置Connectio ...
- 1,[VS入门教程] 使用Visual Studio写c语言 入门与技巧精品文~~~~下载安装篇
Microsoft Visual Studio是微软(俗称巨硬)公司出品的强大IDE(Integrated Development Environment 集成开发环境),功能强大齐全,界面舒服之类的 ...
- 《VSTO开发入门教程》配套资源下载
<VSTO开发入门教程> 刘永富 著 清华大学出版社 封面截图 购书网址 京东网 淘宝网 配套资源到如下页面寻找: https://www.cnblogs.com/ryueifu-VBA/ ...
随机推荐
- 详解javascript中的this的指向问题
首先,要明白this 既不指向函数自身,也不指函数的词法作用域.this一般存在于函数中,表示当前函数的执行上下文,如果函数没有执行,那么this没有内容,只有函数在执行后this才有绑定. 然后,我 ...
- Eclipse Paho MQTT Utility
下载地址: https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho. ...
- javascript简单实现深浅拷贝
深浅拷贝知识在我们的日常开发中还算是用的比较多,但是之前的状态一直都是只曾听闻,未曾使用(其实用了只是自己没有意识到),所以今天来跟大家聊一聊js的深浅拷贝: 首先我们来了解一下javascript的 ...
- [python]变量和赋值
1. python的变量名以字母开头,包含字母.数字.下划线. 2. python是动态类型语言,即不需要预先声明变量的类型.变量的类型和值在赋值的时候被初始化. 变量赋值通过等号来执行. 代码: c ...
- HihoCoder - 1617 方格取数
HihoCoder - 1617 (从群主那里借鉴来的, 群主好强啊) 题意:中文题不解释... 题解: dp[X][i][j] 代表的是X是坐标之和 第一个人 走到位置 dp[i][x-i] 第二个 ...
- Linux基础提高_sudo,行为审计,跳板机
sudo 临时给普通用户赋予root权限的一种方式 echo "%wheel ALL=(ALL) NOPASSWD: ALL" >>/etc/ ...
- Kafka服务端之网络连接源码分析
#### 简介 上次我们通过分析KafkaProducer的源码了解了生产端的主要流程,今天学习下服务端的网络层主要做了什么,先看下 KafkaServer的整体架构图 




