自动化测试框架GTest安装

本文详细介绍了在Linux系统中如何安装和配置Google Test(GTest)框架,包括解压安装包、清理不必要的文件、修改Makefile、编译执行测试以及添加自定义测试函数的步骤。通过这个过程,读者可以学会如何在Linux中搭建GTest环境并进行自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.解压GTest安装包


2.解压之后,就可以看到gtest-1.7.0文件夹了,里面的内容如下图所示


3.清除不需要的文件。只留下如图:


因为gtest安装包里面包含了其他操作系统使用时支持的文件,我们linux上不需要其他系统的。例如msvc文件夹是用在微软VisualStudio中,xcode文件夹是用于Mac Xcodecodegrear文件夹是用于Borland C++ Builder,在Linux环境中,我们用的内容就是make文件夹了。

4.继续清理文件。sample文件夹清除其他不必要的文件,留下一个作为测试使用就OK。


5.删除Make文件夹,改写Makefile,放入sample,代码如下:

GTEST_DIR = ..
USER_DIR = .
CPPFLAGS += -isystem $(GTEST_DIR)/include
CXXFLAGS += -g -Wall -Wextra -pthread
CXX= g++
TESTS = run_test
GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \
                $(GTEST_DIR)/include/gtest/internal/*.h
FILES = $(foreach d , $(USER_DIR), $(wildcard $(d)/*.cpp))
OBJS = $(patsubst %.cpp, %.o, $(FILES))

all : $(TESTS)


clean :
rm -f $(TESTS) gtest_main.a *.o


.PHONY : clean


GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)


gtest-all.o : $(GTEST_SRCS_)
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
            $(GTEST_DIR)/src/gtest-all.cc


gtest_main.o : $(GTEST_SRCS_)
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
            $(GTEST_DIR)/src/gtest_main.cc


gtest_main.a : gtest-all.o gtest_main.o
$(AR) $(ARFLAGS) $@ $^
CPP_SRC := $(wildcard *.cpp)
CPP_SRC_OBJS = $(CPP_SRC:%.cpp=%.o)


$(TESTS) : $(OBJS) $(CPP_SRC_OBJS) gtest_main.a
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@

6.现在文件夹有三个(includesrcsamples),我们自己被测的程序放在sample文件夹中。你可以修改。如图所示:


7.进入到进入到makefile所在的文件夹,命令行进行编译执行操作: make && ./run_test。这里的run_test就是makefile里写的


或者分2步,先make,会生成run_test,再运行./run_test如图所示:


运行结果如图:


8.添加自己的测试函数,

可以将待测函数xxx.cpp头文件xxx.hunitxxx.cpp放入mycode文件夹中,然后 make && ./run_test进行编译运行,就可以看到结果了

9.如果要清除已经生成的.o.a文件,只需要在到目录下,执行:make clean即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值