打开资源管理器: nautilus .

gtest 获取

从:https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php

获取gtest-1.7.0-rc1.zip,下载链接,下载打包的源码

或在git仓库下载: git clone https://github.com/google/googletest.git

gtest安装

下载gtest源码包:gtest-1.7.0.zip

解压后进入gtest-1.7.0目录

cmake CMakeLists.txt

make 后生成两个静态库:libgtest.a libgtest_main.a

sudo cp libgtest*.a /usr/lib

sudo cp –a include/gtest /usr/include

测试gtest

下面是进入到sample目录下编译官方提供的用例

cd sample

编译用例1

g++ sample1.cc sample1_unittest.cc -lgtest -lgtest_main -lpthread -o test1

编译用例2

g++ sample2.cc sample2_unittest.cc -lgtest -lgtest_main -lpthread -o test2

由于sample1.cc和sample1_unittest.cc文件中没有编写main函数,这里需要链接libgtest_main.a库,作为程序入口

测试自己的用例

三个源文件

第一个测试函数源文件:SimpleMath.h

// SimpleMath.h

#include <cmath>
double cubic(double d)
{
return pow(d,3);
}

第二个测试用例:TestCase.cpp

#include <gtest/gtest.h>
#include "SimpleMath.h"
TEST(FooTest, RightCase)
{
EXPECT_EQ(8, cubic(2));
}
TEST(FooTest, ErrCase)
{
EXPECT_EQ(27, cubic(3));
}

第三个入口:TestMain.cpp

#include <gtest/gtest.h>
int main(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

编译用的makefile

cc = g++ -std=c++11
prom = test
deps = SimpleMath.h
obj = TestCase.o TestMain.o
LIBS = -lgtest -lpthread $(prom): $(obj)
$(cc) -o $(prom) $(obj) $(LIBS) %.o: %.c $(deps)
$(cc) -c $< -o $@

入门教程

http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html

gtest 安装与使用的更多相关文章

  1. gtest 安装

    1.下载,https://code.google.com/p/googletest/.解压,进入该目录,按REAME说明 安装:1.5之前 make install可以安装,1.6之后不可以...安装 ...

  2. linux 下gtest 安装

    cd gtest_dir //解压后的目录 mkdir mybuild # Create a directory to hold the build output. cd mybuild cmake ...

  3. 简单易懂的单元测试框架-gtest(一)

    简介     gtest是google开源的一个单元测试框架,以其简单易学的特点被广泛使用.该框架以第三方库的方式插入被测代码中.同其他单元测试框架相似,gtest也通过制作测试样例来进行代码测试.同 ...

  4. snappy 安装

    1 下载snappywget https://kojipkgs.fedoraproject.org//vol/fedora_koji_archive00/packages/snappy/1.1.0/1 ...

  5. 如何在项目中使用gtest1.6

    问题 gtest1.6版本的README里说该版本不支持make install,其意思就是说你没法通过make命令把gtest安装到/usr/local/lib之类的目录,所以你也没办法通过下面的命 ...

  6. caffe 学习(1) —— Classification: Instant Recognition with Caffe

    学习地址http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/00-classification.ipynb 1.安装m ...

  7. gtest的安装和测试[good]

    一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...

  8. ubuntu 安装 google Gtest [转]有效性待验证

    最近在做一些东西,用过gtest,废话少说,现讲其再ubuntu上安装的 方法贴出来,以供朋友们参考: 安装gtest分三步: 1.安装源代码 在ubuntu的桌面上,右键选择打开终端,在终端中输入如 ...

  9. gtest环境安装

    gtest全称Google Test,是Google的C++测试框架,有很多优秀的软件都会依赖这个环境编译或者在开发中也会用到,gtest的编译非常简单,下面简单说明一下安装过程. gtest git ...

随机推荐

  1. canvas 水滴图、液体进度条、仿加速球、圆球水波图

    传送门:https://github.com/guoyoujin/WaterMoire <!DOCTYPE html> <html lang="en"> & ...

  2. 【20170506】贝业新兄弟IT总监李济宏:第三方家居物流的IT架构探索

    5月6日,物流人的节日,这一天,全国的物流人汇聚中国上海嘉定,以“新时代.新物流”为主题的2017中国货运产业大会暨货运企业家高峰论坛如期召开,同时,首届嘉年华活动隆重开启,八大主题分享活动,精彩进行 ...

  3. The thumbprint of same asymmetric key is not same in 'SQL Server Connector for Microsoft Azure Key Vault' 1.0.4.0 and 'SQL Server Connector for Microsoft Azure Key

    https://support.microsoft.com/en-us/help/4470999/db-backup-problems-to-sql-server-connector-for-azur ...

  4. Python生成随机字符串

    利用Python生成随机域名等随机字符串. #!/usr/bin/env python# -*- coding: utf-8 -*- from random import randrange, cho ...

  5. RSA 分段加解密【解决“不正确的长度”的异常】

    RSA 是常用的非对称加密算法.最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致. .NET Framework 中提供的 RSA 算法规定: 待加密的字节数不能超过密钥的 ...

  6. #pragma multi_compile_fwdbase会增加很多个shader variants

    #pragma multi_compile_fwdbase是unity内置的用于前向渲染的关键字快捷方式,它包含了前向渲染光照计算需要的大多数关键字,因此会被shader带来很多的变体. 下面这个简单 ...

  7. Vue:生命周期

    一.什么是vue的生命周期 Vue中的生命周期是指组件从创建到销毁的一系列过程.看下面这张官方文档的图: 从图片中可以看出Vue的整个生命周期包括8个状态,按照先后顺序分别为: beforeCreat ...

  8. linux下从一台服务器复制文件或文件夹到本地

    1.从服务器复制文件到本地:scp root@×××.×××.×××.×××:/data/test.txt /home/myfile/ root@×××.×××.×××.×××   root是目标服务 ...

  9. java.exe和javaw.exe的区别

    相同点:二者都是Java的虚拟机,用来执行Java程序 区别: 1. javaw.exe运行程序时不会输出控制台信息 (注:“w”就是window的意思). 使用案例  start.bat(y以下代码 ...

  10. ocelot配置

    动态配置 { "ReRoutes": [], "Aggregates": [], "GlobalConfiguration": { &quo ...