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学习笔记(一)相关推荐

  1. gtest学习笔记--2测试夹具(类)TEST_F

    相关的配置与参考可以看相同系列的第一篇.本篇只提供代码. test_02.h #ifndef GTEST_SAMPLES_SAMPLE3_INL_H_ #define GTEST_SAMPLES_SA ...

  2. ROS学习笔记三:创建ROS软件包

    ,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...

  3. ROS学习笔记一:安装配置ROS环境

    ROS学习笔记一:安装配置ROS环境 在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行. 1 查看环境变量 在ROS的安装过程中,我们 ...

  4. ROS学习笔记(一)补充篇 参考创客制造

    我将ROS的CPP部分分成7个部分: 1.基础的node param 2.动态调节参数 3.关于TF变换 4.actionlib 5.插件技术 6.movebase 7.nodelet技术 前言 相比 ...

  5. go语言基础学习笔记完整版

    目录 背景 基础 helloworld 变量 常量 数据类型 基本数据类型与复杂数据类型 值类型与引用类型 查看变量类型 字符与字符串 类型转换 指针 打包 读取控制台数据 for-range遍历 生 ...

  6. 冰冰学习笔记:异常处理

    欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正. 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬.帅哥.美女点点支 ...

  7. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  8. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  9. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

最新文章

  1. 63万张!旷视发布最大物体检测数据集Objects365 | 技术头条
  2. 爬取--- https://www.exploit-db.com/ 下载POC较完善的代码【2】
  3. 哈希表的实现(取余法)
  4. 马哥linux 培训第一周作业
  5. jQuery的事件1——on,one
  6. Android卷一全文 第一章 阅读前的准备工作
  7. Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
  8. Z-Stack Home Developer's Guide—5. Compilation Flags中文翻译【Z-Stack Home 1.2.0开发文档】
  9. 输出流_关于输出字符流你真的懂了吗?
  10. Android中各个权限详解
  11. SQL中字符串拼接方法(MySQL,SQLServer)
  12. java 服务器程序部署环境搭建
  13. 想网站稳定运营?不可不知 DDoS的攻击原理与防御方法
  14. 二级考试内容之C和Python
  15. 2021WSB-day2-4: Raffaele教授演示利用OpenCV和Python实现一个指纹识别系统 (含代码) part6
  16. 国防科技大学计算机考研资料汇总
  17. 剖析拒绝服务攻击-SYN拒绝服务(转)
  18. UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
  19. 整数翻转-LeetCode No7
  20. AJAX之封装+跨域

热门文章

  1. 服务器挂了app端显示,手机端监控服务器进程app
  2. 网站后台添加富文本编辑器
  3. PTA-7-27 冒泡法排序-C语言 (20分)
  4. CAD2007安装之缺少.NET组件解决方法
  5. Android进度条ProgressBar使用详解
  6. 【生物信息学】基于SparCC, MENA, LSA, CoNet构建微生物相互作用网络
  7. Paxos协议之Basic Paxos/Multi Paxos
  8. 教你如何制作镜像文件
  9. 最小二乘模糊度去相关调整:一种快速GPS整数模糊度估计方法
  10. 第三周总结,第四周计划