废话不多说,直接开始吧。

  • 环境说明

    • 系统环境:centos7.0
    • g++ 版本:
      • g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
      • 查看方法: g++ -version,升级方法 yum -y install g++
      • 由于最新的google test 有使用的是C++11+的函数,故而g++版本不能太低
    • cmake安装: yum -y install cmake
    • 下载 google test 安装包:https://github.com/google/googletest
  • 安装步骤(依次执行)
    • mv googletest-master.zip  /home/software/;cd /home/software/
    • unzip googletest-master.zip
    • cd googletest-master
    • cmake ./
      • 如果出错,可以查看cmake的版本是否过低,通过yum 方式或者手动安装cmake,cmake的安装包下载地址:https://cmake.org/
    • make 
      • 在安装过程中如果出错,检查环境的C++版本是否过低,若yum不能成功升级,可以选择手动安装(自行安装,此处不过多阐述)
    • 安装成功后,在./lib/目录下会生成:

      libgmock.a libgmock_main.a libgtest.a libgtest_main.a

    • cp -r -v ./lib* /usr/lib/
    • mkdir /usr/include/gtest; cp -r -v  /home/software/googletest-master/googletest/include/gtest/* /usr/include/gtest/
    • 到此安装基本完成,接下去就是简单使用说明了
  • 使用说明
    • 写一个小的cpp文件

      •   

        /*
        * alarm_test.cpp
        *
        * Created on: 2019年9月17日
        * Author: zhiyulinfeng
        */
        #include <stdio.h>
        #include <stdlib.h>
        #include <gtest/gtest.h>
        TEST(COutputPopLimitStrategyTest,PositiveNos){
        EXPECT_EQ(true,true);
        }
        int main(int argc,char *argv[]){
        ::testing::InitGoogleTest(&argc,argv);

        return RUN_ALL_TESTS();;
        }

    • 编译:g++ -std=c++11 alarm_test.cpp -lpthread /usr/lib/libgtest.a -o  alarm_test
      • 注意:加上-lpthread 因为在google test 内部用使用到线程,否则会报错
      • 注意2:千万记得加上 -std=c++11,环境问题比较纠结
    • 看下结果
      •   

        是不是很简单呢?感谢google,有了这个单元测试,妈妈再也不用担心我的程序会croe了。

  • PS: 纯个人积累记录分享,未写清楚的可以留言和我交流。

笔者环境:

Centos7 C++ 安装使用googletest单元测试的更多相关文章

  1. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  2. CentOS7 Jenkins安装

    CentOS7 Jenkins安装 CentOS7 Jenkins安装 Download 从Jenkins下载apache-tomcat-8.0.18.tar.gz Install 安装 上传RPM文 ...

  3. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  4. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  5. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  6. 在 CentOS7 上安装 Tomcat9

    在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...

  7. 在CentOS7上安装JDK1.8

    在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...

  8. centos7.0 安装字体库

    最近在centos7.0下用itextpdf将word文档转成pdf时出现字体丢失的情况.网上找了很多资料,各式各样的原因和解决方法.后来经过一番测试发现是centos7.0 minimal没有安装相 ...

  9. 在centos7中安装Robot Framework

    安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...

随机推荐

  1. Java虚拟机(一)-Java内存区域

    通过看深入理解java虚拟机这本书,大致总结一些笔记,或者提出一些问题,希望大家深入交流学习,第一次写博客,大家多多支持 Java虚拟机对于很多Java开发人员每天都在用,但是大部分人初学者对这些并不 ...

  2. DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553)

    DedeCMS 5.7 sp1远程文件包含漏洞(CVE-2015-4553) 一.漏洞描述 该漏洞在/install/index.php(index.php.bak)文件中,漏洞起因是$$符号使用不当 ...

  3. IntelliJ IDEA 激活(最新)

    注:此文以 Mac 为例,Windows 的激活方法也大同小异.如果不差钱的话,建议购买正版! 1.下载安装 直接通过下面的链接到官网下载最新的 Ultimate 版本即可: https://www. ...

  4. 《机器学习技法》---GBDT

    1 对决策树使用adaboost 对决策树使用adaboost时,有以下几个问题: (1)adaboost每次更新的样本权重如何应用到决策树中? 由于我们不知道决策树的err目标是什么,因此通常的方法 ...

  5. Spring Cloud版本

    Spring Cloud版本 Spring Cloud版本演进情况如下: 版本名称 版本 Finchley snapshot版 Edgware snapshot版 Dalston SR1 当前最新稳定 ...

  6. Daily,一个入门级的 React Native 应用

    Daily,一个React-Native写的android app. 下拉刷新获取:图片.诗句.言语.音乐.乐评.雨声.知乎日报.历史上的今天. 可以说是一个入门级的React-Native应用. 项 ...

  7. net core Webapi基础工程搭建(五)——缓存机制

    目录 前言 Cache Session Cookie 小结 补充 前言 作为WebApi接口工程,性能效率是必不可少的,每次的访问请求,数据库读取,业务逻辑处理都或多或少耗费时间,偶尔再来个各种花式f ...

  8. Vim高手,从来不用鼠标

    Vim脱离鼠标第一步 平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那么难,看我短短几行带大家一起省略鼠标. 对了,vim有三种模式,基本模式就是用来输入命令的 ...

  9. vuex详解vue简单使用

    vue概念:vuex 是 Vue 配套的 公共数据管理工具,它可以把一些共享的数据,保存到 vuex 中,方便 整个程序中的任何组件直接获取或修改我们的公共数据: 配置vuex的步骤: 1.运行cnp ...

  10. python 22 类与对象

    目录 1. 从空间角度研究类 1.1 添加对象的属性: 1.2 添加类的属性: 1.3 类与对象的关系: 2. 类与类直接的关系 2.1 类与类的关系: 2.2 依赖关系 -- 主从之分 2.3 组合 ...