gtest测试

环境安装

1、下载gtest1.8版本

wget https://github.com/google/googletest/archive/refs/tags/release-1.8.1.zip

2、将其解压在“.../gtest/”目录下,解压命令:

unzip release-1.8.1.zip

3、配置

解压后产生文件googletest-release-1.8.1,把这个文件名重命名为gtest-1.8.1,命令:

mv  googletest-release-1.8.1  gtest-1.8.1

接下来,将“.../gtest-1.8.1/googletest/include/”目录下的gtest目录拷贝至“/usr/local/include/”和“/usr/include/”下。

cp -r gtest /usr/local/include/
cp -r gtest /usr/include/

然后,在用到gtest的文件中,用#include "gtest/gtest.h"或者#include指令就可以让编译器找到gtest的头文件了。

进入gtest-1.8.1的上一级目录,即“.../gtest/”,接下来要生成gtest-all.o和gtest_main.o机器码文件,将它们链接生成静态库文件libgtest.a。执行g++  -I${GTEST_DIR}/include   -I${GTEST_DIR}   -c   gtest-1.8.1/googletest/src/gtest-all.cc命令,会在当前目录产生gtest-all.o,${GTEST_DIR}表示gtest源文件(gtest-1.8.1)的路径。编译“gtest-1.8.1/googletest/src/”目录下的gtest-all.cc和gtest_main.cc。会在当前目录下生成gtest-all.o和gtest_main.o文件,然后再将这两个.o文件合并成一个静态库文件libgtest.a,可以拿出来便于以后gtest工程下链接使用。

gtest测试_第1张图片

 4、测试

(1)依次编写sample.h、sample.cpp和test.cpp文件。

sample.h文件:

#pragma once
int fun(int a, int  b);

 sample.cpp文件:

#include "sample.h"
int fun(int a, int b)
{
    return  a - b;
}

 test.cpp文件:

#include "gtest/gtest.h"
#include "sample.h"

TEST(fun, case1)
{
    EXPECT_LT(-2, fun(1, 2));
    EXPECT_EQ(-1, fun(1, 2));
    ASSERT_LT(-2, fun(1, 2));
    ASSERT_EQ(-1, fun(1, 2));
}

(2)编译sample.cpp和test.cpp文件,生成sample.o和test.o文件

gtest测试_第2张图片

(3)将生成的机器码文件(sample.o和test.o)与libgtest.a静态库链接编译,生成可执行文件test:

(4) 运行test可执行文件,即可输出测试结果

gtest测试_第3张图片

 

你可能感兴趣的:(gtest,单元测试)