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

  • 环境说明

    • 系统环境: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. resolv.conf文件配置相关的案例

    引言 操作系统中/etc/resolv.conf配置文件中的内容一般为空,如果该文件配置不正确,将导致ssh.route.netstat命令响应慢的问题. 在/etc/resolv.conf添加错误地 ...

  2. redhat linux 5.3安装activeMQ

    安装环境:linux redhat enterprise 5.3 activemq版本:5.9.01.从http://activemq.apache.org/download.html地址下载apac ...

  3. 本地VSCode编辑远程服务器文件

    前言 先说下我的场景:服务器搭设了一系列复杂环境,然后需要使用PHP实现某些功能 选这种远程编辑的原因: 首先PHP打死我也不想装(这个现在是出了VB外最惹人厌的语言了) 然后环境比较复杂,本地装下比 ...

  4. springboot脚手架,逐渐成长成一个优秀的开源框架

    目录 项目介绍 环境搭建 开发工具 开发环境 工具安装 系统架构 启动项目 springboot基于spring和mvc做了很多默认的封装.这样做的好处极大的方便了开发者的效率.尽管与此我们每个人还是 ...

  5. Java String引起的常量池、String类型传参、“==”、“equals”、“hashCode”问题 细节分析

    在学习javase的过程中,总是会遇到关于String的各种细节问题,而这些问题往往会出现在Java攻城狮面试中,今天想写一篇随笔,简单记录下我的一些想法.话不多说,直接进入正题. 1.String常 ...

  6. 【改革春风吹满地 HDU - 2036 】【计算几何-----利用叉积计算多边形的面积】

    利用叉积计算多边形的面积 我们都知道计算三角形的面积时可以用两个邻边对应向量积(叉积)的绝对值的一半表示,那么同样,对于多边形,我们可以以多边形上的一个点为源点,作过该点并且过多边形其他点中的某一个的 ...

  7. Python3 完美解决unittest框架下不生成测试报告

    前提: 1.运行测试用例一切正常,只是没有测试报告显示 2.使用命令行pyhon 脚本名字.py 却可以生成测试报告 3.pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的, ...

  8. python学习——列表生成式,生成器和迭代器

    列表生成式 列表生成式,是python内置的非常简单却强大的可以用来创建list的生成式.它可以极大的简化语句. """列表生成式""" # ...

  9. Windows下Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题

    Python 3.6 + VS2017 + Anaconda 解决Unable to find vcvarsall.bat问题 已经安装了VS2017,需要将项目中的C代码翻译为Python代码,在编 ...

  10. Java深层复制方式

    为什么需要深层复制 Object 的 clone() 方法是浅层复制(但是 native 很高效).另外,Java 提供了数组和集合的复制方法,分别是 Arrays.copy() 和 Collecti ...