Ubuntu22.04配置GTest测试框架

前言

鸿蒙系统的代码仓库使用GTest作为单元测试的工具。特性开发时,需要写demo以验证开发思路。因此有必要搭建GTest开发环境配合鸿蒙特性开发做开发demo。 我测试环境是wsl2 Ubuntu22.04 LTS。

搭建过程

安装必备C++组件

sudo apt install -y unzip g++ gcc cmake make automake

下载GTest

源码点这里

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

如果网络不好,可以去下载发布版本1.17.0

unzip googletest-1.17.0.zip -d /home/tools/googletest

本地安装

cd /home/tools/googletestmkdir build         
cd build
cmake ..
make
sudo make install    # 默认安装到 /usr/local/ 路径

验证

创建demo工程TestExample

目录结构:

root@DESKTOP-R500S71:/home/tmp/TestExample# tree -L 1
.
├── CMakeLists.txt
├── build
└── test_example.cpp

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(TestExample)
enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
add_executable(test_example test_example.cpp)
target_link_libraries(test_example ${GTEST_LIBRARIES} pthread)
add_test(NAME example_test COMMAND test_example)

test_example.cp

#include <gtest/gtest.h>
#include <iostream>TEST(ADDTEST,ADDTEST_TRUE)
{int num = 1;EXPECT_EQ(num,1);
}int main(int argc, char **argv) {std::cout << "Running main() from test_example.cpp\n";testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}

demo编译运行

cd /home/tmp/TestExample/
mkdir build 
cmake ..
make 
./test_example

运行结果

root@DESKTOP-R500S71:/home/tmp/TestExample/build# ./test_example
Running main() from test_example.cpp
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ADDTEST
[ RUN      ] ADDTEST.ADDTEST_TRUE
[       OK ] ADDTEST.ADDTEST_TRUE (0 ms)
[----------] 1 test from ADDTEST (0 ms total)[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 1 test.

结论

ubuntu22.04安装gtest成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90278.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习日志15 python

1 filter() 函数filter(function, iterable)filter函数是python中的高阶函数, 第一个参数是一个筛选函数, 第二个参数是一个可迭代对象, 返回的是一个生成器类型, 可以通过next获取值。filter() 函数是 Python 内置的高阶函数&#xff0c;其主要功能是对可迭代对象中的每个元素…

Linux 环境下安装 MySQL 8.0.34 二进制 详细教程 附docker+k8s启动

文章目录Linux 环境下安装 MySQL 8.0&#xff08;二进制&#xff09;详细教程准备工作安装依赖包下载并解压 MySQL下载 MySQL 二进制包解压 MySQL移动目录并创建 MySQL 用户配置 MySQL配置数据目录与日志目录编辑配置文件 /etc/my.cnf初始化 MySQL 数据库配置启动脚本与环境变量…

HTML ISO-8859-1: 完全解析

HTML ISO-8859-1: 完全解析 引言 ISO-8859-1,又称为 Latin-1,是一种广泛使用的字符编码标准,特别是在HTML文档中。本文将详细介绍ISO-8859-1编码的特点、应用场景以及如何在使用HTML时正确地使用ISO-8859-1编码。 ISO-8859-1编码概述 定义 ISO-8859-1编码是一种单字节编…

c++学习第3篇编辑器——centos7.9.2009系统离线安装clion软件并成功调试c++程序

远程linux服务器安装clion0 前提2个&#xff1a;1 下载CLion-2021.1.1.tar.gz安装包2 上传到linux系统并解压3 修改linux系统里的/etc/ssh/sshd_config文件中的X11UseLocalhost 注释去掉并设为no4 安装xauth5 安装MobaXterm软件并使用ssh组件打开clion5.1 如果打不开clion,报错…

20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到lz4的问题

20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到lz4的问题 2025/7/22 15:21缘起&#xff1a;在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13。 报错&#xff1a;/bin/sh: 1: lz4: not found为了简单起见&#xff0c;直接在 荣品的技术支持QQ群的 …

加载用户设置时遇到错误找到一个带有无效“icon“的配置文件。将该配置文件默认为无图标。确保设置“icon“时,该值是图像的有效文件路径“

"C:\Users\Yourname\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json 修改所有icon字段位none 如&#xff1a;{"guid": "{bf61c995-08cc-4a56-b781-5dba411ef19c}","hidden": false,"icon&…

如何提升连带消费?从新零售“人-货-场”模型拆解

目录 一、分析背景 二、新零售分析思路和分析方法 1.具体分析思路 2.分析方法 三、新零售“人-货-场”分析的实操步骤 1.数据收集 2.数据处理 3.图表制作 四、总结 想让线上引来的顾客&#xff0c;在店里多买几件&#xff1f; 连带消费可是实体店赚钱的“秘密武器”&a…

Java异常处理核心原理与最佳实践

Java异常处理核心原理与最佳实践 场景&#xff1a; 你开发的文件处理工具在读取用户上传的文件时突然崩溃&#xff0c;控制台抛出FileNotFoundException。用户的操作被中断&#xff0c;数据丢失。这种糟糕的体验正是异常处理机制要解决的核心问题——如何在程序出错时优雅地恢复…

Ubuntu 安装 Odoo 17 详细教程

Ubuntu 安装 Odoo 17 详细教程 本教程将指导您在 Ubuntu 系统上从源代码安装 Odoo 17。Odoo 是一款功能强大的开源 ERP 和 CRM 软件套件。本教程适用于希望自行配置和管理 Odoo 环境的用户&#xff0c;尤其适合开发者和系统管理员。 教程概述 本教程将涵盖以下步骤&#xff…

鲲鹏·卓识系列2.45G传感器型有源标签:以国产化技术重塑安全监测与人员管理新标准

标题&#xff1a;鲲鹏卓识系列2.45G传感器型有源标签&#xff1a;以国产化技术重塑安全监测与人员管理新标准 随着工业4.0和智慧城市建设的加速推进&#xff0c;安全生产、环境监测和人员管理成为各行业的核心需求。在军事、工业、仓储、能源等领域&#xff0c;温湿度、烟雾、油…

腾讯云推出CodeBuddy:革新AI全栈开发体验

文章目录一、前言二、安装流程三、CodeBuddy 核心功能3.1 AI辅助开发3.2 Coding Design Chat 三大模式3.3 Boost Prompt3.4 Figma 集成3.5 Componen 控件库3.6 Config MCP3.7 Upload Images 图片上传和管理3.8 Preview功能3.9 Deploy 一键部署3.10 项目展示 | MCP生成小红书卡片…

龙虎榜——20250723

上证指数放量收上影线&#xff0c;未站上3600点&#xff0c;个股下跌明显多于上涨&#xff0c;指数有调整需求&#xff0c;注意短线风险。深证指数较昨日缩量收阴线&#xff0c;依然在5日均线上方运行&#xff0c;打到前期平台高点有震荡调整需求&#xff0c;注意风险。2025年7…

SpringBoot06-@ConfigurationProperties注解

ConfigurationProperties注解用于将配置文件&#xff08;application.properties 或 application.yml&#xff09;中的配置值&#xff0c;自动绑定到 Java Bean 对象上。1-1、基本用途比如我们在 application.yml 中有这样一段配置&#xff1a;app:name: myAppversion: 1.0.0au…

oracle里面concat函数用法,oracle wm_concat函数用法-

wmsys.wm_concat函数&#xff0c;它的作用是以’,’链接字符 例子如下&#xff1a; SQL> create table idtable (id number,name varchar2(30)); Table created SQL> insert into idtable values(10,’ab’); 1 row inserted SQL> insert into idtable values(10,’bc…

C++中的list(2)简单复现list中的关键逻辑

C中的list&#xff08;2&#xff09;//简单复现list中的关键逻辑 前言 这一节的主要内容就是&#xff1a;简单复现list中的关键逻辑。同样的&#xff0c;我们这一节也是先粗略的看一眼源码&#xff0c;结合源码&#xff0c;边理解边复现。源码我已经上传到gitee&#xff0c;网…

Linux——System V 共享内存 IPC

文章目录一、共享内存的原理二、信道的建立1.创建共享内存1.key的作用2.key的选取3.shmid的作用4.key和shmid的区别5.内存设定的特性6.shmflg的设定2.绑定共享内存3.代码示例三、利用共享内存通信1.通信2.解除绑定3.销毁共享内存1.命令行销毁2.程序中销毁四、共享内存的生命周期…

Python 程序设计讲义(9):Python 的基本数据类型——复数

Python 程序设计讲义&#xff08;9&#xff09;&#xff1a;Python 的基本数据类型——复数 复数与数学中的复数概念类似。在 Python 中&#xff0c;复数表示为 abj&#xff0c;其中&#xff1a;a为实数部分&#xff0c;b为虚数部分&#xff0c;j称为虚数单位。复数必须包含虚数…

leetcode_121 买卖股票的最佳时期

1. 题意 有一个股价变化图&#xff0c;你可以在一天买入&#xff0c;在未来一天卖出。 求通过这样一次操作的最大获利。 2. 题解 2.1 枚举 直接枚举&#xff0c;买入卖出的时间&#xff0c;肯定会超时啦~ 时间复杂度为O(n2)O(n^2)O(n2) 空间复杂度为O(1)O(1)O(1) class …

ToBToC的定义与区别

B 端和 C 端主要是从产品所面向的用户群体角度来区分的&#xff0c;B 端指的是企业用户&#xff08;Business&#xff09;&#xff0c;C 端指的是个人消费者&#xff08;Consumer&#xff09;&#xff0c;它们在多个方面存在明显区别&#xff0c;具体如下&#xff1a;用户特征B…

Python 程序设计讲义(8):Python 的基本数据类型——浮点数

Python 程序设计讲义&#xff08;8&#xff09;&#xff1a;Python 的基本数据类型——浮点数 目录Python 程序设计讲义&#xff08;8&#xff09;&#xff1a;Python 的基本数据类型——浮点数一、浮点数的表示形式1、小数形式2、指数形式二、浮点数的精确度浮点数也称小数&am…