说明:centos8 最小安装
安装cmake:
# yum -y install cmake
下载googletest:
# git clone https://github.com/google/googletest.git
安装:
新建编译目录
# mkdir googletestbuild
# cd googletestbuild
# cmake ${GTEST_DIR} // GTEST_DIR 是googletest 所在路径
# make
# make install
使用:
makefile编写如下:
CC=g++
INCLUDE = -I.
CFLAGS = -Wall --std=c++11
LIBFLAGS = -lpthread -L/usr/local/include -lgtest # googletest
SRCS = $(wildcard *.cpp)
OBJS = $(patsubst %.cpp,%.o,$(SRCS))
TARGET = run
ALL:$(OBJS)
$(CC) -o $(TARGET) $(OBJS) $(LIBFLAGS)
%.o:%.cpp
$(CC) -c $(CFLAGS) $(INCLUDE) $< -o [email protected]
clean:
rm -f $(OBJS)
rm -f $(TARGET)
待测试代码:
// work.h
int add(const int x, const int y){ return x + y; }
测试代码:
// test.cpp
#include "work.h"
#include <gtest/gtest.h>
TEST(FunWordAddTest, HandlesPositiveInput){
EXPECT_EQ(add(1, 0), 1);
}
TEST(FunWordAddTest, HandlesNegativeInput){
EXPECT_EQ(add(-1, 0), -1);
}
TEST(FunWordAddTest, HandlesZeroInput){
EXPECT_EQ(add(0, 0), 0);
}
int main(int argc, char **argv){
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
编译:
# make
执行:
# ./run --gtest_output=xml:
查看执行结果:
# cat run.xml