gtest如何安装使用

由于自己对于某些概念的理解不是深入,这个搞了蛮久才懂如何使用,先去github下载gtest
tar -zxvf ***.tar.gz 解压

文章目录

  • 1. 使用动态库的方式
  • 2. 使用静态库的方式
  • 3. libgtest_main的作用见下面注释

1. 使用动态库的方式

mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
# 生成两个动态库libgtest.so libgtest_main.so
cp -a libgtest.so libgtest_main.so /usr/lib
ldconfig    # 让系统知道这两个库的存在

# 进入gtest的samples文件夹下
cd samples
g++ sample1_unittest.cc sample1.cc -lpthread -lgtest -lgtest_main

2. 使用静态库的方式

mkdir build && cd build
cmake ..
make
# 生成两个动态库libgtest.a libgtest_main.a

# 可将libgtest.a libgtest_main.a放到你的需要测试的文件夹下,方便一点
# 进入gtest的samples文件夹下
g++ sample1_unittest.cc sample1.cc -lpthread libgtest.a libgtest_main.a

3. libgtest_main的作用见下面注释

// gtest_sum.cpp
#include 
#include 

int sum(int a, int b) {
	return a+b;
}

TEST(sum, testSum) {
	EXPECT_EQ(5, sum(2, 3));	// 求合2+3=5
	EXPECT_NE(3, sum(3, 4));	// 求合3+4 != 3
}
// 如果在此处不写main函数,那么在链接库的时候还需要链接-lgtest_main, 否则只需链接-lgtest即可。
#if 0
int main(int argc, char **argv)
{
 testing::InitGoogleTest(&argc, argv);
 return RUN_ALL_TESTS();
}
#endif

具体的如何写gtest参考这个即可

你可能感兴趣的:(linux-脚本-工具,c++)