potatoknight

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mac 安装gtest

1、git clone https://github.com/google/googletest

2、cd googletest

3、brew install cmake如果没装的话

4、cmake CMakeLists.txt

5、拷贝库和头文件

cp libgtest*.a /usr/local/lib

cp –a include/gtest /usr/local/include

 

运行里面的 sample里面的sample1

cd make

make Makefile

回生成sample1_unittest的测试程序,实际上是将sample1.cpp和sample_unittest.cpp和gtest编译到一起了

 

定制自己的测试makefile

1、在包含googletest/src的这个googletest/目录下 mkdir mycode

2、拷贝以下makefile

GTEST_DIR = ..
USER_DIR = .
CPPFLAGS += -isystem $(GTEST_DIR)/include
CXXFLAGS += --std=c++11 -g -Wall -Wextra -pthread
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) $@ $^

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


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

这样可以在下面写 myabs.cpp myabs.h myabs_unittest.cpp这样的测试用例了

 

posted on 2018-11-02 15:29  potatoknight  阅读(185)  评论(0编辑  收藏  举报