searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

GTest的安装与使用

2023-06-26 08:48:46
106
0

GTest介绍

gtest是一个由谷歌发布的跨平台开源C++单元测试框架,提供了丰富的断言、致命和非致命判断、死亡测试等,可以验证程序的逻辑性和健壮性,帮助更好的进行C++项目的测试。

GTest安装

源码获取

在安装之前需要获取googletest源码,源码的git仓库地址为:https://github.com/google/googletest

可以通过clone的方式进行获取:

#首先创建一个工作目录gtest
mkdir ~/gtest
cd ~/gtest
git clone https://github.com/google/googletest.git

也可以通过下载zip压缩包的方式,保存到工作目录并unzip解压。

编译

采用Cmake的方式编译,而在编译前首先创建build目录防止污染源码目录

mkdir build
cd build
cmake ../googletest -DCMAKE_INSTALL_PREFIX=./_install
make && make install

而后在install目录的下可以看到编译产出的文件:

包含了静态库文件。使用时将libtest前缀的两个静态库放到待测试的项目中main.cpp的同级目录下。

简单安装

如果只进行简单测试,可以直接使用yum进行安装,并在测试程序中直接#include<gtest/gtest.h>头文件即可使用:

yum -y install gtest 
yum -y install gtest-devel

简单测试Demo

编写main.cpp

#include "gtest/gtest.h"
#include<iostream>
#include<string>
using namespace std;

int add(int a ,int b)
{
    std::cout<<"a+b = "<< a+b <<endl;
    return a+b;
}

TEST(fun , add_a)
{
    EXPECT_EQ(-3,add(-2,-1));
    EXPECT_EQ(-2,add(1,-3));
}

int main(int argc, char **argv){
    ::testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
    return 0;
}

编译生成并执行可执行文件:

g++ main.cpp -lgtest -std=c++14 -lpthread -o test1
./test1

测试产生如下结果:

可以看到demo中定义的add函数测试结果符合预期。

在/googletest/samples/目录下有很多谷歌提供的demo测试用例,可以进行参考学习:

0条评论
作者已关闭评论
慕****洋
2文章数
0粉丝数
慕****洋
2 文章 | 0 粉丝
慕****洋
2文章数
0粉丝数
慕****洋
2 文章 | 0 粉丝
原创

GTest的安装与使用

2023-06-26 08:48:46
106
0

GTest介绍

gtest是一个由谷歌发布的跨平台开源C++单元测试框架,提供了丰富的断言、致命和非致命判断、死亡测试等,可以验证程序的逻辑性和健壮性,帮助更好的进行C++项目的测试。

GTest安装

源码获取

在安装之前需要获取googletest源码,源码的git仓库地址为:https://github.com/google/googletest

可以通过clone的方式进行获取:

#首先创建一个工作目录gtest
mkdir ~/gtest
cd ~/gtest
git clone https://github.com/google/googletest.git

也可以通过下载zip压缩包的方式,保存到工作目录并unzip解压。

编译

采用Cmake的方式编译,而在编译前首先创建build目录防止污染源码目录

mkdir build
cd build
cmake ../googletest -DCMAKE_INSTALL_PREFIX=./_install
make && make install

而后在install目录的下可以看到编译产出的文件:

包含了静态库文件。使用时将libtest前缀的两个静态库放到待测试的项目中main.cpp的同级目录下。

简单安装

如果只进行简单测试,可以直接使用yum进行安装,并在测试程序中直接#include<gtest/gtest.h>头文件即可使用:

yum -y install gtest 
yum -y install gtest-devel

简单测试Demo

编写main.cpp

#include "gtest/gtest.h"
#include<iostream>
#include<string>
using namespace std;

int add(int a ,int b)
{
    std::cout<<"a+b = "<< a+b <<endl;
    return a+b;
}

TEST(fun , add_a)
{
    EXPECT_EQ(-3,add(-2,-1));
    EXPECT_EQ(-2,add(1,-3));
}

int main(int argc, char **argv){
    ::testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
    return 0;
}

编译生成并执行可执行文件:

g++ main.cpp -lgtest -std=c++14 -lpthread -o test1
./test1

测试产生如下结果:

可以看到demo中定义的add函数测试结果符合预期。

在/googletest/samples/目录下有很多谷歌提供的demo测试用例,可以进行参考学习:

文章来自个人专栏
测试工具学习
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0