GTest学习笔记(一)
GTest学习笔记(一)
环境准备:CMake+Visual Studio
原博客: (20条消息) 记gtest1.10.0安装过程及简单使用_wingrez的博客-CSDN博客
使用GTest搭建一个简单的单元测试
1.下载GTest release-1.10.0源码
GitHub - google/googletest at release-1.10.0
2.生成测试所需的lib文件
2.1使用CMake构建gtest.sln
在下图路径下进入Powershell
执行下列指令
$ mkdir build
$ cd build
$ cmake ..
2.2 使用VS生成解决方案
注意配置要一致(我使用的是Debug x64)
项目属性/C/C++/代码生成/运行库:多线程调试(/MTd)
生成成功后,build/lib/Debug下会出现lib文件
3.搭建测试项目
3.1创建一个控制台应用项目
3.2配置项目属性
Debug+x64+MTd
添加附加包含目录
我之前看示例中附加包含目录只到"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include"这一层,然后在引用的时候使用"include<gtest/gtest.h>";然后我就自己替换成了"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include\gtest",在引用的时候直接"include<gtest.h>",然后就发现报错了,出错结果如下:
将附加目录修改回"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include",引入头文件的路径也修改为"include<gtest/gtest.h>",然后部分的出错信息就消失了,效果如下:
还有错误是因为return RUN_ALL_TESTS忘记加括号了,应该是return RUN_ALL_TESTS()
添加附加依赖项
3.3测试代码
addIntegers.h
#pragma once
#include <iostream>
using namespace std;int add(int a, int b)
{return a + b;
}
test.cpp
#include <gtest/gtest.h>
#include"addIntegers.h"TEST(testCase,test0)
{EXPECT_EQ(3,add(1,2));
}TEST(testCase, test1)
{EXPECT_EQ(11, add(12, 3));
}
Project1.cpp
#include <gtest/gtest.h>
int main(int argc,char **argv)
{testing::InitGoogleTest(&argc,argv);return RUN_ALL_TESTS();
}
3.4运行结果
内容如有错误,敬请指正!
GTest学习笔记(一)相关推荐
- gtest学习笔记--2测试夹具(类)TEST_F
相关的配置与参考可以看相同系列的第一篇.本篇只提供代码. test_02.h #ifndef GTEST_SAMPLES_SAMPLE3_INL_H_ #define GTEST_SAMPLES_SA ...
- ROS学习笔记三:创建ROS软件包
,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...
- ROS学习笔记一:安装配置ROS环境
ROS学习笔记一:安装配置ROS环境 在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们 ...
- ROS学习笔记(一)补充篇 参考创客制造
我将ROS的CPP部分分成7个部分: 1.基础的node param 2.动态调节参数 3.关于TF变换 4.actionlib 5.插件技术 6.movebase 7.nodelet技术 前言 相比 ...
- go语言基础学习笔记完整版
目录 背景 基础 helloworld 变量 常量 数据类型 基本数据类型与复杂数据类型 值类型与引用类型 查看变量类型 字符与字符串 类型转换 指针 打包 读取控制台数据 for-range遍历 生 ...
- 冰冰学习笔记:异常处理
欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正. 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬.帅哥.美女点点支 ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
最新文章
- 63万张!旷视发布最大物体检测数据集Objects365 | 技术头条
- 爬取--- https://www.exploit-db.com/ 下载POC较完善的代码【2】
- 哈希表的实现(取余法)
- 马哥linux 培训第一周作业
- jQuery的事件1——on,one
- Android卷一全文 第一章 阅读前的准备工作
- Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
- Z-Stack Home Developer's Guide—5. Compilation Flags中文翻译【Z-Stack Home 1.2.0开发文档】
- 输出流_关于输出字符流你真的懂了吗?
- Android中各个权限详解
- SQL中字符串拼接方法(MySQL,SQLServer)
- java 服务器程序部署环境搭建
- 想网站稳定运营?不可不知 DDoS的攻击原理与防御方法
- 二级考试内容之C和Python
- 2021WSB-day2-4: Raffaele教授演示利用OpenCV和Python实现一个指纹识别系统 (含代码) part6
- 国防科技大学计算机考研资料汇总
- 剖析拒绝服务攻击-SYN拒绝服务(转)
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
- 整数翻转-LeetCode No7
- AJAX之封装+跨域