Linux下和Windows下Google Test (GTest)测试环境搭建步骤

Linux下Google Test (GTest)和Windows下测试环境搭建步骤
Step 1:下载GTEST–gtest-1.7.0.zip
下载链接为:https://code.google.com/p/googletest/downloads/list
Step 2:认识文件夹
下载并解压之后,就可以看到gtest-1.7.0文件夹
打开make文件夹,你会发现里面只有一个Makefile文件。查看Makefile文件内容,得知这是系统给出的编译samples文件夹中的第一个sample的命令
Step 3:改写Makefile文件
新建一文件夹拷贝Makefile文件(mkdir code)并修改为:
CXX = g++
CPPFLAGS = -isystem $(GTEST_DIR)/include
CXXFLAGS = -g -Wall -Wextra -pthread
#LDFLAGS =
#LIBS = -lpthread -lgtest
GTEST_DIR = …
USER_DIR = .
TARGET = main
#GTEST_HEADERS = $(GTEST_DIR)/include/gtest/.h
$(GTEST_DIR)/include/gtest/internal/
.h
#INCS = -I ./ -I KaTeX parse error: Expected 'EOF', got '#' at position 18: …TEST_HEADERS) #̲FILES =(foreach d, ( U S E R D I R ) , (USER_DIR), (USERDIR),(wildcard $(d)/*.cpp))
SRC = ( w i l d c a r d ∗ . c p p ) O B J S = (wildcard *.cpp) OBJS = (wildcard.cpp)OBJS=(patsubst %.cpp,%.o,$(SRC))
all: KaTeX parse error: Expected 'EOF', got '#' at position 10: (TARGET) #̲(TARGET): $(OBJS)

$(CXX) $(CXXFLAGS) $^ -o $@

#$(OBJS):%.o:%.cpp

$(CXX) $(CXXFLAGS) -c $< -o $@ $(CPPFLAGS)

clean:
rm -f $(TARGET) *.o
.PHONY:clean

#GTEST_SRCS_ = $(GTEST_DIR)/src/.cc $(GTEST_DIR)/src/.h $(GTEST_HEADERS)
#gtest-all.o : $(GTEST_SRCS_)

$(CXX) ( C P P F L A G S ) − I (CPPFLAGS) -I (CPPFLAGS)I(GTEST_DIR) $(CXXFLAGS) -c \

$(GTEST_DIR)/src/gtest-all.cc

#gtest_main.o : $(GTEST_SRCS_)

$(CXX) ( C P P F L A G S ) − I (CPPFLAGS) -I (CPPFLAGS)I(GTEST_DIR) $(CXXFLAGS) -c \

$(GTEST_DIR)/src/gtest_main.cc

#gtest_main.a : gtest-all.o gtest_main.o

$(AR) $(ARFLAGS) $@ $^

%.o :%.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@

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

gtest_main.a的生成第一次执行,后续这部分可以不在编译只需保证文件夹下存在即可

make&&./main
Linux下和Windows下Google Test (GTest)测试环境搭建步骤_第1张图片
Step 5:添加自己的测试函数
总结:环境搭建完成之后,每次测试一个文件xxx.cpp以及它的xxx.h文件,就把这俩放入code文件夹,然后编写xxx_unittest.cpp测试文件,也放进去。然后到这个目录下用命令行 make && ./可执行文件就可以了

Windows下则是进入msvc目录: 打开\gtest\msvc\gtest.sln, 编译即可.编译之后,在msvc里面的Debug或是Release目录里看到编译出来的gtestd.lib或是gtest.lib文件。
第一个Demo
新建一个Console Application。接着就是设置工程属性:
配置VS项目
配置包含目录
项目属性页->配置属性->C/C+±>常规->附加包含项目: 加入gtest\inclue的相对目录
配置依赖项
项目属性页->配置属性->链接器->输入->附加依赖项: 加入gtest\Debug\gtestd.lib相对目录
预处理器
_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
_CRT_SECURE_NO_WARNINGS
代码生成配置
项目属性页->配置属性->C/C+±>代码生成->运行库: 改成 多线程调试(/MTd)
项目属性页->配置属性->C/C+±>代码生成->启用函数级链接: 改成 是(Gy)
工程设置后了后,我们来编写一个最简单测试案例试试,我们先来写一个被测试函数:

#include

int Foo(int a, int b)
{
if (a == 0 || b == 0)
{
throw “don’t do that”;
}
int c = a % b;
if (c == 0)
return b;
return Foo(b, c);
}
TEST(FooTest, HandleNoneZeroInput)
{
EXPECT_EQ(2, Foo(4, 10));
EXPECT_EQ(6, Foo(30, 18));
}
int main(int argc, _TCHAR* argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
直接运行案例
Linux下和Windows下Google Test (GTest)测试环境搭建步骤_第2张图片

你可能感兴趣的:(Linux下和Windows下Google Test (GTest)测试环境搭建步骤)