XCode使用googletest(包括googlemock)

[c++]Xcode配置gtest Xcode配置gtest1、准备工作: gtest:gtest github 下载,本人下载最新版1.7.0。2、打开gtest文件夹,在XCODE文件夹中打开工程,编译:     (1)architectures选项选择universal。编译结束后会出来三个文件:一个framework,两个.a静态库文件 3、新建工程,我测试用的是控制台程序。由于控制台无法加载framework,因此引入 阅读详情

1. 下载最新的googletest源代码,也可以从此处下载:https://pan.baidu.com/s/1qRn5BCpUIBz_PY0m6-7pgg

2. 解压后进入googletest/make,执行make,copy libgtest.a到/usr/local/lib,并copy include/gtest目录到/usr/local/include;

然后进入googlemock/make,执行make,copy gmock_main.a到/usr/local/lib

3.新建一个空白的c++项目,并将main.cpp里面的内容清空

4.添加路径到项目,如下图:

5.添加.a文件到项目,如下图

6.添加如下代码到main.cpp,直接执行:

//
//  main.cpp
//  gtestdemo
//
//  Created by dotphoenix@qq.com on 23/07/2018.
//  Copyright © 2018 bifang. All rights reserved.
//

int HighestCommonDivissor(int a, int b)
{
	if (a == 0 || b == 0)
	{
		throw "don't do that";
	}
	int c = a % b;
	if (c == 0)
		return b;
	return HighestCommonDivissor(b, c);
}

#include <gtest/gtest.h>

TEST(HighestCommonDivissorTest, HandleNoneZeroInput)
{
	EXPECT_EQ(2, HighestCommonDivissor(4, 10));
	EXPECT_EQ(6, HighestCommonDivissor(30, 18));
}

7.得到如下结果:

Running main() from gmock_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from FooTest
[ RUN      ] FooTest.HandleNoneZeroInput
[       OK ] FooTest.HandleNoneZeroInput (0 ms)
[----------] 1 test from FooTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[  PASSED  ] 1 test.

 

OpenHarmony(鸿蒙南向开发)——标准系统移植指南(二)Linux内核 本文面向希望将OpenHarmony移植到三方芯片平台硬件的开发者,介绍一种借助三方芯片平台自带Linux内核的现有能力,快速移植OpenHarmony到三方芯片平台的方法。 阅读详情

相关推荐

编程记录——google test框架 打桩

打桩的两种方式 单元测试中为了隔离外部引用的库,或因外部库没有写好,但要测试本单元代码的逻辑,跑代码覆盖率。为了使外部库或类能给出期望值跑本单元的逻辑分支,故将使用的外部函数打桩,mock为模拟或仿制的意思。 将被隔离的类库内部实现的类内部接口进行打桩,把这些函数写成纯虚函数,xxxMock对这些函数进行重新定义实现,从而达到得到期望输出的目的。 MOCK_M...

pass1by的博客 992

xcode上使用gtest

xcode上使用gtest这个配置搞了一下。感觉网上的文章比较的不清楚,因此留一个纪录下来。 1、首先第一个,从网上下载test的文件:https://github.com/google/googletest/archive/master.zip 2、用xcode编译,会产生3个文件,一个是gtest.framework 一个是libgtest.a  还有一个 libgtes

liyu355的博客 1213

google mock 源代码 欢迎有需要的朋友下载

google mock 源代码 欢迎有需要的朋友下载 安装TensorFlow protobuf 的时候需要安装的依赖有

XCode+gtest快速搭建接口测试工程

XCode上做接口测试有两个比较好的选择,一个是gtest,另一个是XCtest。因为gtest的平台支持更为多元,所以采用gtest框架 第一步:build gtest framework     下载gtest,直接命令行 svn checkout http://googletest.googlecode.com/svn/trunk/ googletest-read-only     去

不悲过往,不畏前路 2075

深入解析6T SRAM的读写机制与性能优化

本文深入解析了6T SRAM的基本结构与核心工作原理,详细阐述了其读写操作的具体时序与机制。文章重点探讨了在先进工艺下面临的读写稳定性、写入能力等性能挑战,并系统介绍了写入辅助与读取辅助等关键优化技术,旨在提升SRAM的可靠性与整体性能。

weixin_29205061的博客 1225

SuperPoint + LightGlue实战:低纹理墙面重建保姆级教程(附完整代码)

本文提供了一份针对低纹理墙面三维重建的实战教程。通过详细解析SuperPoint与LightGlue的核心参数调优,指导读者如何有效提取并匹配低纹理目标的特征点,并结合COLMAP完成从稀疏到稠密的重建流程,最终实现高精度建模。

weixin_29034963的博客 223

[mac]xcode配置说明--gtest&mysql

xcode配置本文介绍如何在mac上引入gtest和mysql两个工具。这是我最近做项目所需要的东西,研究了很久,最后终于解决了,在这里给大家介绍以下~gtest在Xcode上配置如下: 把gtest里面编译好的两个静态文件放在gtest文件夹里面。就可以进行gtest测试了:#include <stdio.h> #include "gtest/gtest.h" TEST(MyFirstTest,

stary_yan的博客 1333

Playwright与MCP协议结合:AI驱动的智能Web自动化测试实践

Web自动化测试是现代软件开发流程中保障产品质量的关键环节,其核心原理是通过程序模拟用户操作,对Web应用进行功能验证。传统自动化测试工具如Selenium和Playwright虽然提供了强大的API,但脚本编写和维护仍需较高的编程技能。随着AI技术的发展,智能测试成为新的趋势,它通过自然语言理解和自动化执行,显著降低了测试创建门槛。Model Context Protocol(MCP)作为一种连接AI模型与外部工具的开放协议,为自动化测试带来了“智能大脑”。通过将MCP与Playwright结合,测试人员

aoe41606的博客 605

Google Test资料

Google Test资料 玩转Google开源C++单元测试框架Google Test系列(gtest)(总) gtest.h file not found googletest xcode 7.0 Introduction: Why Google C++ Testing Framework? Google Mock 转载于:https://www.cnblogs.com/lima...

122

当OTN网络遭遇LOS告警:5个运维老手才知道的故障定位技巧(含CA动作对照表)

本文深入解析OTN网络中LOS告警的实战定位技巧,涵盖光功率深度诊断、模块差异分析及核心的CA动作机制。通过逆向追踪告警流与对照速查表,帮助运维人员快速锁定故障段落,区分硬软故障,并掌握系统健康度评估方法,从而提升排障效率与网络稳定性。

weixin_29266007的博客 552

VCS HVP与验证计划planner:数字IC验证环境搭建与收敛实践

在数字IC验证中,VCS 是广泛使用的编译型仿真器,HVP 通常指面向硬件验证平台的高性能编译选项集,用于开启 SystemVerilog 类、随机约束和 NTB 等能力;planner 则指验证计划管理,核心是把功能点与测试用例、覆盖点建立映射。理解 VCS 先编译后仿真的原理,有助于优化增量编译、调试访问和覆盖率采集,提升回归收敛效率。规划驱动让激励不再散落,设计改版时能快速定位受影响用例,交接和覆盖率收敛更有依据。无论是 UVM 环境搭建、编译参数选择,还是验证计划表维护,都需要把工具选项与规划方法结

weixin_42543046的博客 338

终极指南:5步掌握GoogleTest跨平台C++测试框架

GoogleTest是Google开发的强大C++测试框架,专为Windows、Linux和macOS等多平台设计,提供完整的单元测试和模拟功能。无论您是开发桌面应用、服务端程序还是嵌入式系统,这套框架都能帮助您构建可靠的C++代码库。本文将带您从基础概念到高级技巧,全面掌握GoogleTest的跨平台应用。 ## 🎯 核心概念:理解GoogleTest的架构设计 GoogleTest基于x

gitblog_00518的博客 1038

RK3568 上C图像camera图像采集应用实例(二)

本文探索rk3568上实现C语言的 通过C v4l2 接口 采集图像 ,刷屏控制 drm的显示camera图像中 实现camera preview 预览 的实践和探索。

luoshanxuli2010的专栏 761

GoogleTest深度实战:构建跨平台C++测试框架的高效指南

在当今多平台开发环境中,一个可靠的测试框架是保障C++代码质量的关键。GoogleTest作为Google开源的C++测试框架,以其强大的断言系统、灵活的测试组织和跨平台支持,已成为工业级C++项目的首选测试解决方案。无论你是开发Windows桌面应用、Linux服务器程序还是macOS系统工具,掌握GoogleTest都能为你的项目提供坚实的质量保障基础。 ## 🎯 核心概念与架构设计 G

gitblog_00054的博客 430

【GlobalMapper精品教程】073:像素到点(Pixels-to-Points)从无人机图像轻松生成点云

Global Mapper v19引入的新的像素到点工具使用摄影测量原理,从重叠图像生成高密度点云、正射影像及三维模型。它使LiDAR模块成为已经功能很强大的的必备Global Mapper扩展功能。打开GlobalmapperV25.1中文版,点击【Lidar分析】→【像素到点云】,如下所示:V25之前的版本点击工具条上的【像素到点】工具:打开工具,可以【使用向导选】,或者选择【使用主窗口】,都很简单。

智慧空间实验室 1975

MATLAB - 浮动基座机器人的逆运动学

本例演示如何解决以浮动底座为模型的机器人的逆运动学问题。浮动底座机器人可以在空间中自由平移和旋转,具有六个自由度。浮动基座机器人的逆运动学问题适用于空间应用,即使用安装在浮动和致动基座上的机械臂在空间操纵物体,也适用于躯干和腿部可在空间自由移动的行走机器人。请注意,刚体树对象表示具有固定基体的刚体树。这意味着刚体树的基体在世界中具有固定的位置和方向。您可以在基体上附加一个 “浮动 ”类型的刚体关节,为具有浮动基体的机器人建模,以用于动态模拟等某些应用。

机器人控制与仿真应用 2440

5步精通GoogleTest:构建坚如磐石的C++测试体系

GoogleTest是Google开发的C++测试与模拟框架,为开发者提供了强大而灵活的单元测试解决方案。这个跨平台的测试框架支持Windows、Linux和macOS三大操作系统,通过简洁的API和丰富的断言机制,帮助开发者构建可靠、可维护的C++代码库。GoogleTest不仅简化了测试编写流程,还提供了高级功能如死亡测试、参数化测试和模拟对象,是现代C++项目质量保证的核心工具。 ## 核

gitblog_00581的博客 310

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

环境配置三:Xcode Version 6.4 gtest环境搭建

工作需要使用gtest进行单元测试。本人所用开发环境为XCODE6.4,亲测有效。 1、准备工作: gtest:https://code.google.com/p/googletest/ 下载,本人下载最新版1.7.0,之后解压 XCODE6.4 2、打开gtest文件夹,在XCODE文件夹中打开工程,编译:     (1)architectures选项选择universal。。。 编

hitfyb的博客 1182

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

GoogleTest之创建Mock

mock是用来模拟对象隔离边界的一种测试方法,以便在开发阶段不需要依赖第三方或其他依赖项可以进行独立的测试。

u010378559的博客 3671

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

protobuf-master :编译篇

protobuf 的编译、使用

Mr.Sugarcane 1670

【单元测试】Google Test(GTest)和Google Mock(GMock)--编辑中

目录 google test简介 入门例子 进阶 Gtest简介 GoogleTest 是 Google 的 C++ 测试和模拟框架,是库,提供了一些API接口,用于测试你的程序。 我们编写测试文件,里面调用GoogleTest的API 测试我们的函数。然后编译的时候把GoogleTest的库链接进来即可。 入门例子 编译环境中安装Gtest,既编译Gtest的源码编出Gtest的库gtest,放到链接目录下(供后面测试代码链接它和调用它的API) $ git clone ht.

我的笔记本 1万+

GoogleTest中gMock的使用

GoogleTest中gMock的使用

网络资源是无限的 6309

C++单元测试GoogleTest和GoogleMock十分钟快速上手(gtest&gmock)

gtest是Google开源的一个跨平台的(Liunx、Mac OS X、Windows等)的 C++ 单元测试框架,可以帮助程序员测试 C++ 程序的结果预期。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。另一方面,gmock并不是一个独立的测试框架,而是gtest的辅助框架,主要用于模拟没有实现的类的操作,以便在没有完整类的情况下进行测试。通过配合使用gtest和gmock,开发者可以编写出更为复杂且健壮的C++单元测试。

新法的博客 3486

GoogleTest进阶——参数测试、Mock测试、耗时测试、类型测试

本次文章以一个真实业务中的`进程管理类`测试的过程中遇到的问题和解决办法,覆盖了`参数测试`、`Mock接口测试`、`接口耗时测试`这三个方面,会简单的提及`类型测试`。并且配合VSCode的CMake Tools插件,快捷而方便的进行`进程管理类`的测试。...

鳴海步的博客 6565

5 Studying GoogleTest/GoogleMock

摘要:本文系统介绍了GoogleTest(gtest)和GoogleMock(gmock)测试框架的使用方法。主要内容包括:1)源码获取与编译构建;2)gtest自带的10个示例代码解析,涵盖基础测试、测试夹具、参数化测试等核心功能;3)gtest基本用法(断言、简单测试、测试夹具)和进阶用法(死亡测试、参数化测试、事件监听等);4)gmock基本用法(设置期望、参数匹配)和进阶用法(有序调用、持续期望);5)相关参考资料。文章提供了从入门到精通的完整学习路径,是掌握Google C++测试框架的实用指南。

u012906122的专栏 985

GoogleTest中的Mock用法

所示,首先创建一个抽象接口类,然后派生一个子类Mock该接口类的的纯虚接口,最后开始基于该子类进行单元测试。除此之外,还可以用googletest提供的预置模板类NiceMock进行特定接口mock,而不必为所有的接口做Mock实现。通常在团队开发过程中,业务逻辑会有上下游依赖,你所负责的部分可能会依赖其他团队成员提供的接口功能,在其他成员还没有提供可用的接口之前,你的开发工作可能会因为缺乏必要接口被阻塞,此时需要对这些上未实现的接口进行模拟(Mock),以便你本地的工作能够正常推进。

yuanshenqiang的博客 1253
上一篇: WebRTC peerconnection_client/peerconnection_server分析
下一篇: Windows 环境下 MySQL 5.7 安装配置指南
dotphoenix
博客等级 码龄19年 208粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值