(1)google test的安装(按照README文件进行操作)
google test 下载地址 http://code.google.com/p/googletest/downloads/list
解压后(unzip gtest-X.Y.Z.zip),linux环境进入文件夹编译时(./configure,make)
使用VS的话可以直接打开msvc里面的工程文件
其中在linux上编译时,提示“bash: ./configure: 权限不够 ”(直接在linux上wget安装包不会有这个问题,通过winscp从windows上将此安装包传到linux上的时候会有这个问题),解决办法:
chmod +xconfigure
然后输入 ./configure 就就可以了;
后续又碰到 ./scripts/fuse_gtest_files.py: 权限不够还按这种方法解决。
(2)编译单元测试代码
利用google test编写的单元测试,从googe test的main函数开始执行,其main函数位于gtest_main.cc文件中,我们的测试代码不用单独编写main函数,因此,要想运行自己编写的单元测试,需要将gtest-all.cc和gtest_main.cc编译到工程并连接。
A:
1、g++ -I${GTEST_DIR}/include -I${GTEST_DIR}/ -c ./src/gtest-all.cc
g++ -I./include -I./ -c ./src/gtest-all.cc (注意,-I后没有空格,直接加./)
2. ar -rv libgtest.a gtest-all.o
这步之后会生成两个文件,libgtest.a和gtest-all.o。
3.g++ -I${GTEST_DIR}/include mytest.cpp libgtest.a -o mytest -lpthread
g++ -I./include mytest.cpp libgtest.a -o mytest -lpthread (注意mytest为自己写的简单测试代码,编译会报错:undefined reference to main (原因:找不到main函数)
B:修改makefile进行编译
进入make目录下,修改makefile文件下的GTest_dir,user_dir,tests, 然后执行make,运行可执行文件,亦可生成测试用例。