首页 > 系统相关 >【GoogleTest】MacOS & Linux 环境下安装测试库

【GoogleTest】MacOS & Linux 环境下安装测试库

时间:2023-11-26 22:44:08浏览次数:37  
标签:MacOS Code int make googletest GoogleTest Linux com View

参考博客

MacOS

https://www.bilibili.com/video/BV1BB4y147Nv/?spm_id_from=333.337.search-card.all.click&vd_source=24b90a03ecfc31d2ef34160f32363f2c https://www.jianshu.com/p/68b9d2682cdd

Linux

https://www.cnblogs.com/yanqingyang/p/12732087.html

代码仓库

https://github.com/google/googletest 

安装展示

MacOS

命令行输入

git clone http://github.com/google/googletest

cd googletest
mkdir build && cd build
cmake -DCMAKE_CXX_STANDARD=17 ..
make
make install 
View Code

截图展示

cmake -DCMAKE_CXX_STANDARD=17 ..
View Code

 

make
View Code

 

make install 
View Code

 


检查是否成功安装好

ls /usr/local/lib/pkgconfig/*test*
# 如果成功下载后,就会在 /usr/local/lib/pkgconfig/下出现 test
测试代码

 


Linux

命令行

git clone https://github.com/google/googletest.git
cd googletest
mkdir build
cd build
cmake ..
make
sudo make install
全部命令

 

cmake ..
View Code

make
View Code

sudo make install
View Code

 


测试

创建Demo —— CLion项目

 

CMakeList.txt文件

cmake_minimum_required(VERSION 3.0)

set(CMAKE_CXX_STANDARD 11)

project(demo)

find_package(GTEST REQUIRED)

add_executable(${PROJECT_NAME} test/main.cpp)

target_link_libraries(${PROJECT_NAME} ${GTEST_LIBRARIES})
CMakeList.txt

 

main.cpp

#include <iostream>
#include <gtest/gtest.h>
int add(int a, int b) {
    return a + b;
}
int sub(int a, int b) {
    return a - b;
}
// case1
TEST(test, c1) {
EXPECT_EQ(3, add(1, 2));
EXPECT_EQ(12, add(6, 6));
}
// case2
TEST(test, c2) {
EXPECT_EQ(-1, sub(1, 2));
}
GTEST_API_ int main(int argc, char ** argv) {
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
Main.cpp

 

成功运行结果

 

 

 

 

 

标签:MacOS,Code,int,make,googletest,GoogleTest,Linux,com,View
From: https://www.cnblogs.com/Osea/p/17858129.html

相关文章

  • VMware里的linux虚拟机连接网络
    1、在虚拟机的网络配置中选择自定义特定虚拟网络,然后选VMnet8;2、在物理机的网络连接中找到VMnet8适配器,设置为自动获取ip;3、在物理机的网络连接中找到物理机的适配器,右键点击属性,选择共享选项卡,全部打勾,并在第一个下拉框中选择VMnet8(如果这一步确定后提示共享失败,可能是你的物......
  • linux11.22课堂随笔
    第六章I/O重定向与管道6.1I/O重定向1.可以打开多个终端在终端界面输入tty查看终端编号2.输入date命令显示时间在date后面加>符号并指向date.txt文件那么结果就会写入date.txt文件3.在执行passwd命令改密码时系统会产生一个进程psaux|greppasswd可以查看PID4.ll/p......
  • Linux-No.6
    一、存储管理了解存储方式掌握创建基本分区的方法1.从连接方式上,存储分为以下3种类型本地存储:直接插在服务器上的硬盘,系统文件存放在本地 外部存储:可以理解为平时使用的移动硬盘 网络存储:以太网络、FC网络。从工作原理上,硬盘分为固态硬盘与机械硬盘2.硬盘转速越快、访问......
  • Linux05
           在Linux课程的第四章中我学了文件权限,基本权限为U(owner:属主)、G(group:属组)、O(other:其他用户),Linux系统通过U、G、O将用户分为三类,并对这三类用户分别设置三种基本权限,这种设置权限的方式称作UGO方式。读取权限(read):r,数字设定为4;写入权限(write):w,数字设定为2;执行权限......
  • Linux第八次周总结
    第七章存储管理7.1存储方式从连接方式上,存储分为以下三种类型。本地存储:直接插在服务器上的硬盘,系统文件存放在本地。外部存储:可以理解为平时使用的移动硬盘,不过移动硬盘用的是USB接口连接,一般外部存储可以使用SCSI线、SATA线、SAS线、FC线。网络存储:以太网络、FC网络。当......
  • Linux I/O重定向与管道
    1.IO重定向I/O重定向是一个过程,这个过程捕捉一个文件、命令、程序或脚本,甚至代码块的输出,然后把捕捉到的输出作为输入发送给另外一个文件、命令、程序或脚本。文件描述文件名类型硬件0stdin标准输入文件键盘1stdout标准输出文件显示器2stderr标准错误输出......
  • 无涯教程-Linux - 重定向
    在本章中,我们将详细讨论ShellI/O重定向。大多数Unix系统命令从您的终端获取输入,并将输出发送回您的终端输出。输出重定向符号>file命令将输出输出到指定的file中,如检查以下who命令,该命令将输出重定向用户文件中。$who>users请注意,终端上没有输出。这是因为输出已从......
  • Linux进程管理
    Linux中的进程管理1.进程的基本介绍在linux中,每一个执行的程序和指令都称为一个进程.每一个进程都有一个独立的进程号每一个进程,都会有一个对应的父进程.而这个父进程可以复制多个子进程.每一个进程,都可能有两种方式存在:前台,后台.前台进程是指,用户在屏幕上能够操作的程序......
  • 在Linux上使用终端给系统增加新的存储盘与分区
    在Linux系统中,你可以使用终端命令来增加新的存储盘与分区。本篇博客将指导你逐步完成这个过程。步骤1:识别新的存储盘首先,你需要插入新的存储盘到Linux系统中,或者通过MVwave给安装在本机的linux增加内存。然后,使用以下命令来查看系统是否识别到新的存储盘:sudofdisk-l这将列......
  • Linux学习随笔——文件查找、打包压缩及解压
    一、文件查找echo命令可以查看变量PATH的值;which命令可以在环境变量PATH设置的目录中查找符合条件的命令文件,查看其是否存在以及执行的位置;locate命令可以让用户快速查找到所需要的文件或目录,在使用该命令之前可先使用updatedb命令手动更新数据库;find命令:查找文件添加“i”忽......