googletest编译与使用…

编译

github下载源码:https://github.com/google/googletest.git

下载最新的版本,解压,进入目录:

1
2
3
4
5
6
7
8
9
10
mkdir build
cd build
# cmake -Dgtest_build_tests=ON -Dgmock_build_tests=ON ${GTEST_REPO_DIR} ..
cmake -Dgtest_build_tests=on -DCMAKE_INSTALL_PREFIX=. ..
make
make install
# 在build文件下有include/和lib/,添加到任意工程使用。

# run test. All tests should pass.
make test

编译时添加头文件./googletest/include, 或者./googlemock/include。以及库文件./build/lib/libgtest.a或者其他对应的库文件,根据需要拷贝添加。

使用

例子:

1
2
3
4
5
6
7
8
9
10
11
12
#include "gtest/gtest.h"
int test(int a, int b) {
return a + b;
}

TEST(test, AddTest) {
EXPECT_EQ(4, test(2, 2));
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

编译,其中的路径可以添加自己的绝对路径:

1
2
3
g++  mytest.cpp  -I./googletest/include/ -L./build/lib/ -lgtest -lgtest_main -lpthread -std=c++11 -o mytest

./mytest

当然,googletest有提供sample(./googletest/samples/)