码迷,mamicode.com
首页 > 其他好文 > 详细

gtest 安装与使用

时间:2018-10-28 22:04:42      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:cmak   文件   har   logs   main函数   init   double   imp   html   

打开资源管理器: 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 安装与使用

标签:cmak   文件   har   logs   main函数   init   double   imp   html   

原文地址:https://www.cnblogs.com/ims-/p/9867043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!