自动化测试框架GTest安装
来源:互联网 发布:2010科比总决赛数据 编辑:程序博客网 时间:2024/05/17 02:26
1.解压GTest安装包
2.解压之后,就可以看到gtest-1.7.0文件夹了,里面的内容如下图所示:
3.清除不需要的文件。只留下如图:
因为gtest安装包里面包含了其他操作系统使用时支持的文件,我们linux上不需要其他系统的。例如msvc文件夹是用在微软VisualStudio中,xcode文件夹是用于Mac Xcode,codegrear文件夹是用于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.现在文件夹有三个(include,src,samples),我们自己被测的程序放在sample文件夹中。你可以修改。如图所示:
7.进入到进入到makefile所在的文件夹,命令行进行编译执行操作: make && ./run_test。这里的run_test就是makefile里写的
或者分2步,先make,会生成run_test,再运行./run_test如图所示:
运行结果如图:
8.添加自己的测试函数,
可以将待测函数xxx.cpp、头文件xxx.h和unitxxx.cpp,放入mycode文件夹中,然后 make && ./run_test进行编译运行,就可以看到结果了。
9.如果要清除已经生成的.o和.a文件,只需要在到目录下,执行:make clean即可。
- 自动化测试框架GTest安装
- Gtest自动化框架
- 测试框架之GTest
- gtest 测试框架
- 测试框架之GTest
- 基于gtest测试框架设计
- 谷歌测试框架gtest
- C++测试框架Gtest:初探
- 测试自动化 2011-01-04 GTest
- Robot Framework 自动化测试框架安装
- UT测试框架cxxtest和gtest对比
- Linux下Gtest测试框架应用实例
- 深入理解Android gtest 测试框架
- google gtest测试框架--简单便用
- Linux c++ 测试框架 gtest使用简介
- Linux下Gtest测试框架应用实例
- Google开源C++单元测试框架gTest 1:gTest安装编译
- 测试自动化 2011/06/11 - 3 GTest Primer
- 怎么运用PDF Transformer+实现文本到PDF的添加
- Java--JDBC,CRUD,Unit
- mysql多实例组复制配置
- 最小堆获取topK问题与堆的增删
- linux下添加动态链接库路径的方法
- 自动化测试框架GTest安装
- (spring redis第二章)Spring+Redis+Nginx实现不同服务器下的Session共享
- 面向对象的三大特征?以及作用
- Java
- JavaScript中的字符串
- mnist实例
- 更改placeholder
- Mybatis动态sql中foreach需要注意的地方
- ubuntu16.04 下安装加入opencv_contribute包的GPU版本的OpenCV3.2(CUDA支持)步骤与问题解决