当前位置: 首页 > news >正文

gtest的编译与使用

文章目录

    • gtest的编译与使用
    • 概述
    • 笔记
    • CMake参数
    • 官方文档
    • 测试程序
    • 测试效果
    • END

gtest的编译与使用

概述

gTest是 googletest的缩写,如果直接找gTest项目,是找不到的。
库地址 https://github.com/google/googletest.git
迁出到本地后,切到最新发布版1.14.0

笔记

CMake参数

用 cmake-gui.exe 配置
在这里插入图片描述
在这里插入图片描述

打开工程
在这里插入图片描述
全部编译
测试
在这里插入图片描述
测试都错了…

安装
在这里插入图片描述
安装也不是全对,看了一下,是一个内部测试程序报错,找不到base64的内部实现。

将Debug版/Release版本都编译出来,归档,分别命名为gtest_x64_debug/gtest_x64_release, 供自己的测试工程用。

官方文档

https://google.github.io/googletest/

入门的测试程序的文档 https://google.github.io/googletest/primer.html

具体测试程序的编写,可以参照gtest本身的测试程序实现

测试程序

// gTestCaseA.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。#include <iostream>#include "gtest/gtest.h"
#pragma comment(lib, "gtest.lib")
#pragma comment(lib, "gtest_main.lib")TEST(MyTestSuiteA, MyTestCaseA)
{int x = 1;int y = 2;ASSERT_TRUE(3 == (x + y));
}

测试效果

Running main() from D:\3rd_prj\google\googletest\googletest\src\gtest_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from MyTestSuiteA
[ RUN      ] MyTestSuiteA.MyTestCaseA
[       OK ] MyTestSuiteA.MyTestCaseA (0 ms)
[----------] 1 test from MyTestSuiteA (0 ms total)[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (2 ms total)
[  PASSED  ] 1 test.

END

相关文章:

gtest的编译与使用

文章目录 gtest的编译与使用概述笔记CMake参数官方文档测试程序测试效果END gtest的编译与使用 概述 gTest是 googletest的缩写&#xff0c;如果直接找gTest项目&#xff0c;是找不到的。 库地址 https://github.com/google/googletest.git 迁出到本地后&#xff0c;切到最新…...

【 npm详解:从入门到精通】

文章目录 npm详解&#xff1a;从入门到精通1. [npm](https://www.npmjs.com/)的安装2. npm的基础用法2.1 初始化项目2.2 安装依赖2.3 卸载依赖2.4 更新依赖 3. npm的高级用法3.1 运行脚本3.2 使用npm scope3.3 使用npm link 4. npm资源5. 使用npm进行依赖树分析和可视化6. npm进…...

【Web后端】实现文件上传

表单必须使用post提交 ,enctype 必须是multipart/form-data在Servlet上填加注解 MultipartConfiglocation &#xff1a;默认情况下将存储文件的目录&#xff0c;默认值为“”。maxFileSize &#xff1a;允许上传文件的最大大小&#xff0c;其值以字节为单位。 默认值为-1L表示无…...

react 逻辑 AND 运算符 ()

在 React 组件中&#xff0c;当你想在条件为 true 时渲染一些 JSX 时&#xff0c;它经常会出现&#xff0c;或者什么都不渲染。使用 &#xff0c;只有在以下情况下才能有条件地呈现复选标记&#xff1a;&&isPackedtrue return (<li className"item">{…...

Redis详解(二)

事务 什么是事务&#xff1f; 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作&#xff1a;事务中的命令要么全部被执行&#xff0c;要么全部都…...

嵌入式:基于STM32的智能家居照明控制系统

在智能家居系统中&#xff0c;自动照明控制不仅提高了居住舒适度&#xff0c;还有助于节能减排。本教程旨在引导读者通过使用STM32微控制器来开发一个智能照明控制系统。该系统能够根据环境光线自动调整室内照明的亮度&#xff0c;并支持通过简单的用户界面手动控制光线。 一、…...

三种基本排序-冒泡,选择,二分

闲话不多说&#xff0c;直接上代码&#xff0c;简明易懂&#xff0c;条理清晰&#xff0c;交互性强&#xff0c;尽善尽美 码住&#xff0c;建议copy下来&#xff1a; 先上二分法吧&#xff0c;稍复杂点的&#xff0c;代码多一些&#xff0c;用了函数调用 二分排序&#xff1…...

windows查找重复的物理地址

单独查询所有物理&#xff08;mac&#xff09;地址&#xff08;cmd执行&#xff09;&#xff1a;arp -a 查找同一局域网下重复的mac&#xff0c;打开power shell执行以下命令&#xff1a; Get-NetNeighbor | Where-Object { $_.State -eq "Reachable" } | Select-O…...

linux进阶高级配置,你需要知道的有哪些(8)-shell脚本应用(三)

1、for循环语句的结构&#xff1a; for 变量名 in 取值列表 do 命令序列 done 2、while循环语句结构&#xff1a; while 条件测试 do 命令序列 done 3、for和while的区别 for:控制循环来自于取值列表 while&#xff1a;控制循环来自于条件测试 4、case语句的…...

安全测试|常见SQL注入攻击方式、影响及预防

SQL注入 什么是SQL注入&#xff1f; SQL注入是比较常见的网络攻击方式之一&#xff0c;主要攻击对象是数据库&#xff0c;针对程序员编写时的疏忽&#xff0c;通过SQL语句&#xff0c;实现无账号登录&#xff0c;篡改数据库。 SQL注入简单来说就是通过在表单中填写包含SQL关键…...

【Git】Git在Gitee上的基本操作指南

文章目录 1. 查看 git 版本2. 从Gitee克隆仓库&#xff1a;3. 复制文件到工作目录&#xff1a;4. 将未跟踪的文件添加到暂存区&#xff1a;5. 在本地提交更改&#xff1a;6. 将更改推送到远程仓库&#xff08;Gitee&#xff09;&#xff1a;7. Windows特定提示&#xff1a; 1. …...

国债期货怎么买?十年国债交易手册

国债&#xff0c;简单来说&#xff0c;就是国家为了筹集资金而向大众借钱的一种方式。国家通过发行债券&#xff0c;向投资者承诺在约定的时间里支付利息&#xff0c;并在到期时归还本金。因为是国家发行的&#xff0c;所以国债的信用等级非常高&#xff0c;通常被认为是非常安…...

公司申请增加公众号数量

一般可以申请多少个公众号&#xff1f;众所周知&#xff0c;在2013年前后&#xff0c;公众号申请是不限制数量的&#xff0c;后来企业开始限制申请50个&#xff0c;直到2018年的11月tx又发布&#xff0c;其中个人主体可申请公众号由2个调整为1个&#xff0c;企业主体由50个调整…...

什么是.faust勒索病毒?应该如何防御?

faust勒索病毒详细介绍 faust勒索病毒是一种新型的勒索软件&#xff0c;最早出现在2018年。该病毒通过加密计算机系统中的文件并要求支付赎金来解锁文件&#xff0c;从而获取经济利益。与传统的勒索软件相比&#xff0c;faust勒索病毒采用了更加先进的加密算法和隐藏技术&#…...

邓闲小——生存、生活、生命|真北写作

人生有三个层次∶生存、生活、生命。 生存就是做必须做的事。生存的模式是邓&#xff0c;是交易&#xff0c;是买卖。别人需要的东西&#xff0c;你生产出来&#xff0c;卖给他。哪怕这个东西没啥用&#xff0c;也可以卖&#xff0c;情绪也可以卖。你需要的东西&#xff0c;你花…...

品牌舆情都包含什么内容?建议收藏

一个品牌的声誉、形象、产品质量、服务质量等&#xff0c;无时无刻不在接受着大众的检验。互联网传播迅速&#xff0c;一个不好的舆论直接导致整个品牌的声誉受到严重影响。品牌舆情都包含什么内容&#xff1f;接下来伯乐网络传媒就来给大家讲一讲。 一、品牌舆情的基本构成 1…...

MQTT 5.0 报文解析 04:PINGREQ 与 PINGRESP

欢迎阅读 MQTT 5.0 报文系列 的第四篇文章。在上一篇中&#xff0c;我们已经介绍了 MQTT 5.0 中的 SUBSCRIBE 报文和 UNSUBSCRIBE 报文。现在&#xff0c;我们将介绍用于维持连接的控制报文&#xff1a;PINGREQ 和 PINGRESP。 除了用于连接、发布和订阅的控制报文&#xff0c;…...

【算法刨析】完全背包

完全背包与01背包的区别 01背包对于一个物品只能选择一次&#xff0c;但是完全背包可以选择任意次&#xff1b; 思路 和01背包类似&#xff0c;01背包我们只需要判断选或不选&#xff0c;完全背包也是如此&#xff0c;不同的是&#xff0c;对于这个物品我们在判断选后在增加一…...

notepad++

文章目录 换行 换行 根据需要选择是否要自动换行或者一行展示。 点击视图 选中或者取消选中自动换行...

Python ValueError: bad transparency mask

修改前 修复后 运行正常 from PIL import Image# 读取图片 #报错信息解决ValueError: bad transparency mask--相关文档地址https://blog.csdn.net/kalath_aiur/article/details/103945309 #1. 检查 alpha 通道是否是一个有效的掩码。如果不是&#xff0c;则需要对 alpha 通道…...

APK安装器完整指南:在Windows上直接安装安卓应用的专业解决方案

APK安装器完整指南&#xff1a;在Windows上直接安装安卓应用的专业解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK安装器是一款专为Windows系统设计的安卓…...

Agnix:构建AI原生操作系统,实现智能体即应用新范式

1. 项目概述&#xff1a;从“智能体”到“操作系统”的范式跃迁最近在开源社区里&#xff0c;一个名为agent-sh/agnix的项目引起了我的注意。乍一看这个名字&#xff0c;很容易联想到当下火热的“AI智能体”&#xff08;Agent&#xff09;&#xff0c;但深入研究后你会发现&…...

解决Matlab硬件支持包安装失败:手把手教你手动部署Autosar工具链

解决Matlab硬件支持包安装失败&#xff1a;手把手教你手动部署Autosar工具链 当你在Matlab Add-On管理器中反复尝试安装Autosar支持包却遭遇网络超时、许可证报错或进度条卡死时&#xff0c;手动部署方案往往能成为突破困境的终极手段。不同于常规的图形化安装流程&#xff0c…...

图像边缘检测算法全解析:从Sobel到Canny的实战指南

1. 项目概述&#xff1a;从“看见”到“看懂”的第一步在机器视觉的世界里&#xff0c;让计算机“看见”只是第一步&#xff0c;真正的挑战在于让它“看懂”。而“看懂”一幅图像&#xff0c;往往始于识别其轮廓与边界。这就是“边缘检测”的核心价值所在——它如同视觉系统的“…...

【MQTT】paho.mqtt.c 库的“异步/同步模式选择、编译配置与实战” 深度解析,附嵌入式客户端开发指南

1. MQTT与paho.mqtt.c库的核心价值 在物联网设备通信领域&#xff0c;MQTT协议凭借其轻量级、低功耗和发布/订阅模式的优势&#xff0c;已经成为设备间通信的事实标准。而Eclipse Paho项目提供的paho.mqtt.c库&#xff0c;则是C语言开发者实现MQTT客户端功能的首选工具包。这个…...

OpenClaw与企业微信联动:自动发送工作通知、统计员工回复情况,简化管理流程

OpenClaw 赋能企业微信&#xff1a;构建智能高效的自动化管理新范式在数字化转型浪潮席卷各行各业的当下&#xff0c;企业对于内部流程优化、管理效率提升以及员工协作体验改善的需求日益迫切。传统的管理方式&#xff0c;如手动发送通知、人工统计反馈、层层审批流转等&#x…...

Postman导入导出避坑指南:为什么你的环境变量导入后不生效?

Postman环境变量导入失效深度解析与解决方案 当你在团队协作或项目迁移时&#xff0c;精心配置的Postman环境变量导入后却神秘消失——这种挫败感每个开发者都经历过。本文将揭示Postman变量系统的底层机制&#xff0c;通过三个典型故障场景还原真实问题根源&#xff0c;并提供…...

PyInstaller Extractor技术实现与逆向分析实践

PyInstaller Extractor技术实现与逆向分析实践 【免费下载链接】pyinstxtractor PyInstaller Extractor 项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor PyInstaller Extractor是一个专门用于提取PyInstaller生成的可执行文件内容的Python工具。该工具能够…...

LabVIEW通过OPC DA连接任意PLC:架构、配置与实战指南

1. 项目概述&#xff1a;为什么是LabVIEWOPC&#xff1f; 如果你在工业自动化、测试测量或者数据采集领域摸爬滚打过一阵子&#xff0c;大概率听过LabVIEW的大名&#xff0c;也可能被各种PLC&#xff08;可编程逻辑控制器&#xff09;五花八门的通讯协议搞得头疼。把LabVIEW和任…...

浏览器资源嗅探神器猫抓Cat-Catch:3分钟学会抓取网页视频音频资源

浏览器资源嗅探神器猫抓Cat-Catch&#xff1a;3分钟学会抓取网页视频音频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过想下…...