c++ gtest入门

跨平台C++单元测试框架——GTest 1、简介 GTest是google公司发布的一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架。它提供了丰富的断言、致命和非致命判断、参数化、死亡测试等等。 使用gtest时,就是编写断言(assertions),断言语句会检测条件是否为真。一个断言可存在三种结果:success(成功),nonfatal failure(非致命失败),或 fatal failure(致命失败)。当出现致命... 阅读详情

1 gtest安装

# 克隆代码
git clone git@github.com:google/googletest.git
# 安装
cd googletest
cmake .
make
make install

2 使用

2.1 添加cmakelists.txt

cmake_minimum_required(VERSION 3.25)

include_directories("/usr/local/mysql/include")
include_directories("/usr/local/mysql/lib")


set (PROJECT_NAME cpplearn)
PROJECT(${PROJECT_NAME})


set(CMAKE_CXX_STANDARD 14)

find_package(GTEST REQUIRED)


find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

#add_subdirectory(subprojects/faiss)

#add_subdirectory(subprojects/googletest)

add_executable(cpplearn
        hello.cpp)

target_link_libraries(cpplearn ${OpenCV_LIBS})
target_link_libraries(cpplearn "/usr/local/mysql/lib/libmysqlclient.dylib")
target_link_libraries(${PROJECT_NAME} ${GTEST_LIBRARIES})

2.2 代码


#include <iostream>


#include <stdio.h>
#include <mysql.h>
#include <gtest/gtest.h>
using namespace cv;
using namespace std;


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

TEST(test, c1) {
    EXPECT_EQ(3, add(1, 2));
    EXPECT_EQ(12, add(2, 6));
}


int main(int argc, char ** argv)
{
    cout << "hello world  ! \n" ;

    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}


基于gtest、mockcpp写C++LLT测试入门级教程 一、googletest 下载地址:https://github.com/google/googletest 编译googletest: 在根目录下执行 cmake . make 编译出的libgtest.a后面用 注意:有可能编译会失败,是gtest需要C++11以上 可以在顶级的CMakeList.txt里加入 set(CMAKE_CXX_STANDARD 11) 二、mockcpp 下载地址:https://code.google.com/archive/p/mockcpp/downloads 编译 阅读详情

相关推荐

如何下载最新版本的VMware Workstation

随着虚拟化技术的发展,VMware Workstation作为行业领先的桌面虚拟化软件,为用户提供了在单一物理计算机上运行多个操作系统的能力。本文将详细介绍如何从Broadcom支持网站下载最新的VMware Workstation Pro版本。

安呀智数据坊的博客 669

【C++中级篇】gtest的使用方法及cmake配置

在一项c++工程中,会存在很多类,很多功能方法,如果每个对外的接口方法都通过在业务中发现问题,是一件相当糟糕的事儿,而且效率低下。如果针对每个接口都设计一个主函数进行验证,需要运行很多程序,为解决这个问题,单元测试模块应运而生,本期探讨下由google开发的单元测试模块gtest的使用方法。

行走的漂流瓶的博客 4514

低功耗模式下的看门狗使用

最近用国产芯片AT32在做一个低功耗的项目,为了实现低功耗模式下的定时唤醒,我选择的是使用相对比较简单的看门狗来做,下面就分享一下使用过程~ 为了最大限度的降低功耗,我用的是待机模式,先看看几种低功耗模式以及唤醒的区别: 而看门狗AT32提供了两种,分别是独立看门狗(IWDG)和窗口看门狗(WWDG),其区别大概有以下几点: 1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效;窗口看门狗由从 APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常

dc18883988396的博客 3028

玩转C++单元测试之快速上手gtest

文章目录1.gtest简介2.gtest原理3.gtest安装3.1使用dnf进行安装3.2编译gtest项目源码4.gtest内置测试相关的宏5.gtest断言6.自定义测试失败信息输出7.gtest demo7.1简单用法7.2作为测试类使用7.2.1定义一个要被测试的类7.2.2定义测试类7.3执行所有测试用例8.gtest测试类的私有成员8.1加宏编译8.2 FRIEND_TEST8.3使用pimpl重构被测代码9.gtest-demo git链接 1.gtest简介 gtest是一个跨平台的(Li

不经一翻彻骨寒,怎得梅花扑鼻香 1万+

Vivado安装教程:多版本共存的配置技巧

详解Vivado安装教程中的多版本共存配置技巧,帮助用户在同一系统中管理不同版本的Vivado开发环境,提升开发效率与兼容性,适用于需要切换版本的FPGA开发者。

weixin_35257663的博客 1776

Matplotlib字体警告终结者:为什么总提示DejaVu Sans?5种场景解决方案大全

本文深入解析Matplotlib中常见的DejaVu Sans字体警告问题,并提供5种典型场景的完整解决方案。从理解字体系统的三层架构和缓存机制,到解决中文显示、远程服务器部署、TeX渲染、缓存优化及生产环境配置等实际问题,帮助开发者彻底摆脱字体警告困扰,实现稳定可靠的数据可视化。

view3的博客 502

玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest

了解了gtest代码后,猛然发现gtest不就是这样吗,同时gtest也给了我很多惊喜,因此,我对gtest的评价是:功能强大,设计简单,使用方便。本文算是抛砖引玉吧,只能是对gtest的整体结构的一些介绍,想要了解更多细节最好的办法还是看gtest源码,如果你看过gtest源码,你会发现里面的注释非常的详细!3. Test 我们自己编写的,或通过TEST,TEST_F等宏展开后的Test对象,管理着测试案例的前后事件,具体的执行代码TestBody。

梦心之魂的博客 3128

3.1使用Python读取excel的二维数据

要使用 Python 读取 Excel 的二维数据,可以使用 openpyxl 或 pandas 库。

kenshin1980的专栏 1032

【C++】Google Gtest测试框架的使用

本文首发于gtest模块的安装参考站内教程本文使用的gtest版本为1.14.0;

慕雪华年的博客 4193

服务器AutoDL自己部署QWen3

说明:核心参数:30B 模型原精度权重文件约 60GB,单张 PRO 6000 拥有 48GB 显存,单卡塞不下原精度模型,2张 PRO 6000 = 96GB 总显存,这不仅能装下模型,还能留出约 30GB 显存给 KV Cache(上下文长度) 以及 Omni 多模态组件 处理图片/视频输入时的额外开销。1. 前提准备模型选择:直接下载到 AutoDL 服务器上=》原精度模型(BF16/FP16) 的 Qwen3-Omni-30B,选择的示例和环境如下。# 3. 正式执行模型下载。

xiaoxiao_00001的博客 415

攻防世界 misc题GFSJ1129-【您看我还有机会吗?】

我们发现了隐藏内容,一开始我以为那个英文就是flag,提交后发现不对,然后我想只有一张图片然后图片上的隐写内容又不是flag,那必定还有什么文件被隐藏了,于是我们打开VMware并启动Ubuntu,使用binwalk分析一下有没有隐藏文件,我们要在Terminal中分析,如下。我们发现里面有一个flag.txt文件,我们尝试提取里面内容,但发现又要密码,我们想起了之前图片上的隐藏内容,我们将那段英文输入(包括空格和符号,在VMware中输入密码不会有显示,你看到的就像没输入一样),然后我们看到如下。

大数据专业,关注 AI 安全与数学建模。记录 Web 安全、对抗攻击、隐私保护等安全实践,以及从经典模型到智能方法的建模思考。用数学思维理解 AI,用 AI 方法反哺安全与建模。 1095

[C++] gtest入门教程

gtest 文章目录gtest前言使用头文件和库命令行选项测试普通测试自定义测试类类内共享对象全局共享对象自定义测试模板值测试模板 参数化测试类型测试模板自省/反射检查值检查数值C字符串自定义值检查1 1型检查函数 简单函数检查自定义值检查2 2型检查函数自定义值检查3 3型检查函数gmock扩展检查类型检查编译期类型检查程序流检查普通异常检查崩溃桩对象 (gmock)自定义对象的流输出测试流程监...

airaou 2万+

【微服务】SpringBoot 4.0 新特性整合项目实战应用详解

SpringBoot 4.0 新特性整合项目实战应用详解

congge 4588

【C/C++】C++测试神器:gtest入门

`gtest`(Google Test)是 Google 开源的 C++ 单元测试框架,具有简洁的语法和强大的断言功能,常与 `gmock` 搭配使用进行完整的单元测试。

YZJincsdn的博客 756

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Linux环境gtest入门,Linux环境下C++单元测试Gtest 入门

Linux环境下C++单元测试Gtest 入门Linux环境下C++单元测试Gtest 入门简介Goodtest是一款强大的C++单元测试框架,可以在Linux,Windows上等多种平台上互动可以在这里下载:https://github.com/google/googletest然后按照教程进行配置就可以了ASSERT_*是fatal判断,一旦为false,程序将终止,还可能发生内存泄漏EXPE...

weixin_28703489的博客 454

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

c++ 测试框架gtest的入门

第一次接触和使用c++的测试框架,在这里记录一下 参考资料 http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 打算试试google test,简称gtest,首先需要下载这个源码,是开源的 https://github.com/google/googletest/tree/release-1.7.0 我下这个版本的 需要...

m0_37847176的博客 2116

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【入门到精通】鸿蒙next应用开发:GTest测试C++实战案例

本示例主要介绍如何在HarmonyOS NEXT应用中使用GTest测试C++代码。

m0_73088370的博客 1066

C++单元测试gtest入门

C++单元测试gtest入门

我的博客 463

Google C++单元测试框架(Gtest)系列教程之一——入门

引言 本文将先介绍单元测试的相关概念,然后引入Google的开源C++单元测试框架Gtest,最后通过编译、运行Gtest自带的一个测试样例,介绍如何在Unix/Linux下使用Gtest。 单元测试 说到单元测试,大家应该不会陌生。作为软件开发过程中最低级别的测试环节,单元测试一般由编码人员自己完成,它的目的是隔离程序部件,并证明这些单个部件满足预期的功能。在静态程序分析、代码检视

轻锋的专栏 4136

C++单元测试实战:GTest与GMock从入门到精通

单元测试是软件工程中验证代码逻辑正确性的基础实践,其核心原理在于隔离被测代码,通过断言验证预期行为。在C++这类系统级语言中,由于模块间依赖复杂,直接测试常受限于外部服务、数据库或网络等不稳定因素,导致测试缓慢且脆弱。为解决这一痛点,模拟(Mocking)技术应运而生,它通过创建虚拟对象来替代真实依赖,从而实现对目标代码的孤立、快速测试。Google Test(GTest)作为成熟的C++测试框架,提供了丰富的断言和测试组织功能;而Google Mock(GMock)则专门用于创建和管理模拟对象,允许开发者

weixin_34194087的博客 332

C++ TDD 入门:从搭建 GTest 框架到第一个示例

你想要入门 C++ 语言的 TDD 实践,核心是先搭建**测试框架环境**,再遵循「红-绿-重构」的循环落地最小功能单元。下面我会以 **Google Test(GTest,C++ 最主流的 TDD 测试框架)** 为例,提供从「环境搭建→第一个 TDD 示例→完整循环落地」的分步指南,适配 Linux(CentOS/Ubuntu)环境,新手也能快速上手。

Yang的博客 400

Linux环境下C++单元测试Gtest 入门

简介 Goodtest是一款强大的C++单元测试框架,可以在Linux,Windows上等多种平台上互动 可以在这里下载:https://github.com/google/googletest然后按照教程进行配置就可以了 ASSERT_*是fatal判断,一旦为false,程序将终止,还可能发生内存泄漏 EXPECT_*为false后测试程序会输出相关信息,并继续运行 用户自定义的类如...

聆听风雨的博客 1901

C++ Google Test(gtest)单元测试入门教程

断言宏说明检查一元谓词 pred(a) 是否为真,失败时打印参数值同上,失败立即终止检查二元谓词 pred(a, b) 是否为真同上,失败立即终止检查三元谓词 pred(a, b, c) 是否为真同上,失败立即终止检查四元谓词 pred(a, b, c, d) 是否为真同上,失败立即终止检查五元谓词 pred(a, b, c, d, e) 是否为真同上,失败立即终止Google Test 是 C++ 生态中最流行的单元测试框架之一。断言宏丰富:数值、字符串、浮点数、异常、崩溃都能测。测试固件。

Ash_seven7的博客 183
上一篇: C++ non-aggregate cannot be initialized
下一篇: 二进制流转byte流
vive921
博客等级 码龄8年 10粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值