我是靠谱客的博主 可爱期待,最近开发中收集的这篇文章主要介绍gtest的安装和使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、编译和安装gtest

1.下载gtest

$git clone https://github.com/google/googletest.git

2.安装前准备

有两种编译安装方式,这里我用cmake编译。

(1)blade依赖scons,先安装scons

yum install scons

我这里yum安装失败,所以下载scons-3.1.1.tar.gz,解压编译安装

$wget http://prdownloads.sourceforge.net/scons/scons-3.1.1.tar.gz
$tar -zxvf scons-3.1.1.tar.gz
$cd scons-3.1.1
$python setup.py install --prefix=/opt/scons

安装成功后,添加到环境变量/etc/profile,source /etc/profile

export PATH="$PATH:/home/work/install/scons-3.1.1/bin"

(2)安装cmake

$yum install cmake
$yum install make

3.编译gtest

$cd googletest
$mkdir build
$cd build
$cmake ..		//根据CMakelist.txt,gtest和gmock都会编译和安装
$sudo make && make install		
//gtest.h默认在/usr/local/include/gtest/gtest.h
//libgtest.a默认在/usr/local/lib64/libgtest.a

linux默认是在/lib和/usr/lib下查找动态链接库,gtest默认生成库的位置不能查找到,有以下方法解决:

(1)修改/etc/ld.so.conf,添加/usr/local/lib64,执行ldconfig

(2)export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH,并且LD_LIBRARY_PATH优先于默认搜索路径

(3)拷贝库到/usr/lib下

二、使用gtest

Demo1:

#include<gtest/gtest.h>
int Add(int a, int b){
    return a + b;
}

int Minus(int a, int b){
    return a - b;
}

TEST(Operations, Add){
    EXPECT_EQ(Add(2,3),5);
}

TEST(Operations, Minus){
    EXPECT_EQ(Minus(4,2),2);
}

int main(int argc,char **argv){
  testing::InitGoogleTest(&argc,argv);
  return RUN_ALL_TESTS();
}
$g++ test.cc -o test -lgtest -lpthread
$./test

Demo2:

class QueueTest : public ::testing::Test {
 protected:
  void SetUp() override {
     q1_.Enqueue(1);
     q2_.Enqueue(2);
     q2_.Enqueue(3);
  }

  // void TearDown() override {}

  Queue<int> q0_;
  Queue<int> q1_;
  Queue<int> q2_;
};
TEST_F(QueueTest, IsEmptyInitially) {
  EXPECT_EQ(q0_.size(), 0);
}

TEST_F(QueueTest, DequeueWorks) {
  int* n = q0_.Dequeue();
  EXPECT_EQ(n, nullptr);

  n = q1_.Dequeue();
  ASSERT_NE(n, nullptr);
  EXPECT_EQ(*n, 1);
  EXPECT_EQ(q1_.size(), 0);
  delete n;

  n = q2_.Dequeue();
  ASSERT_NE(n, nullptr);
  EXPECT_EQ(*n, 2);
  EXPECT_EQ(q2_.size(), 1);
  delete n;
}

References:
[1] https://scons.org/doc/2.5.1/HTML/scons-user.html#chap-build-install
[2] https://www.cnblogs.com/helloworldcode/p/9606838.html
[3] https://github.com/google/googletest/blob/master/googletest/docs/primer.md

最后

以上就是可爱期待为你收集整理的gtest的安装和使用的全部内容,希望文章能够帮你解决gtest的安装和使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部