Google Test环境

基于CMake和google test来搭建c++ 项目的单元测试环境 Ubuntu上,用Cmake搭建一个gtest环境的步骤总结 创建测试环境目录 创建src目录来存放源代码,创建tst 来存放测试代码,lib存放google test 等库文件,build用来build来构建整个项目。 $ tree -L 2 ExampleProject ExampleProject ├── build ├── CMakeLists.txt ├── lib │ └── googletest ├── src │ ├── CMakeLists.txt │ ├── DoubleIn 阅读详情

Google Test

  1. 下载
    gtest-1.7.0.zip

  2. 编译-VS2010
    解压并进入找到msvc文件夹,打开gtest.sln

  3. 编译gtest和gtest_main工程,生成gtestd.lib和gtest_maind.lib,将这两个静态库拷贝到googletest-master\googletest\lib目录(没有lib目录,就自建)

    d 结尾是debug编译的,没有的是release版本

  4. 新建测试项目
    GTestSample

项目设置

1

2

3

代码

  • sample.h
#pragma once
int fun(int a, int b);
  • sample.cpp
#include"sample.h"
int fun(int a, int b)  
{  
    return (a-b);  
}  
  • GTestSample.cpp
# include "gtest/gtest.h"  
# include "sample.h"

TEST(fun, case1)  
{  
    EXPECT_LT(-2, fun(1, 2)); 
    EXPECT_EQ(-1, fun(1, 2));  
    ASSERT_LT(-2, fun(1, 2)); 
    ASSERT_EQ(-1, fun(1, 2));  
}  

int main(int argc, char** argv)  
{  
    testing::InitGoogleTest(&argc, argv);  
    return RUN_ALL_TESTS();  
} 

crtl+ F5 运行

result

MSYS2环境下使用Google Test进行C++单元测试的完整指南 单元测试是现代软件工程中确保代码质量的核心实践,通过自动化验证代码单元的行为是否符合预期。其原理在于隔离测试各个独立模块,利用断言机制检查输出结果。在C++开发中,单元测试框架能显著提升代码的健壮性和可维护性,尤其适用于持续集成和重构场景。Google Test作为业界广泛采用的C++测试框架,提供了丰富的断言宏、测试夹具和死亡测试等功能。本文将结合MSYS2这一Windows下的轻量级开发环境,详细介绍如何从零搭建测试框架,并分享与CMake、VSCode工具链集成的工程实践,帮助开发者构建高效的自动化测 阅读详情

相关推荐

CLion新手必看:5分钟搞定Google Test单元测试环境搭建(附CMake配置详解)

本文详细介绍了如何在CLion中快速搭建Google Test单元测试环境,包括三种安装方式(包管理器、源码编译、FetchContent集成)和CMake配置详解。通过实战示例展示测试用例编写、测试夹具使用以及常见问题排查,帮助C++开发者提升代码质量与开发效率。

weixin_27945229的博客 248

【亲测免费】 GoogleTest 使用教程

GoogleTest 使用教程 【免费下载链接】googletest 项目地址: https://gitcode.com/gh_mirrors/goo/googletest ...

gitblog_00421的博客 658

CLion 集成 Google Test:从零搭建 C++ 单元测试环境

本文详细介绍了如何在CLion IDE中从零开始集成Google Test框架,搭建完整的C++单元测试环境。文章涵盖了Google Test的多种安装方法(包管理器、FetchContent、手动编译),重点讲解了在CLion中配置CMakeLists.txt的关键步骤,并演示了如何编写基础测试用例和使用测试夹具组织复杂测试,帮助开发者提升代码质量和开发效率。

weixin_29007135的博客 452

GoogleTest使用教程

GoogleTest是由Google开发的一个C++测试框架,支持Linux、Windows和macOS操作系统,使用Bazel或CMake构建工具。

zzy979481894的博客 1万+

googletest-1.17.0.zip

googletest-1.17.0.zip

googletest-1.8.x.zip

googletest-1.8.x.zip

探索Google Test(gtest):C++单元测试的强大工具

在软件开发过程中,单元测试是确保代码质量和可靠性的重要手段。Google Test(简称gtest)是Google开发的一个C++单元测试框架,广泛应用于各种C++项目中。它提供了丰富的断言、测试固件、参数化测试等功能,使得编写和维护单元测试变得更加简单和高效。本文将详细介绍gtest的基本用法和高级特性,帮助你快速上手并充分利用这个强大的工具。

ScilogyHunter的博客 1200

GoogleTest1.7.0

GoogleTest源文件,最新版1.7.0。可按照网络上安装教程进行安装使用。

[googletest] --- 简易使用教程

如果需要生成.so库,生成官方sample的二进制文件,需要对源码最外层的CMakeLists.txt进行修改将L20修改为ON之后,可以在build目录下看到googletest自带的sample都编译为了可执行文件。

M2嵌入式 3128

GoogleTest-Google 的 C++ 测试框架!

Googletest 基于 xUnit 测试框架,这是一种流行的单元测试架构

ArduPilot飞控系统代码解读及架构分析

ArduPilot飞控系统是一个复杂而强大的系统,通过模块化设计和分层架构,实现了灵活的飞行控制功能。模块化设计: 各个功能模块相对独立,便于维护和扩展多种飞行模式: 满足不同的飞行需求强大的控制算法: 实现稳定的姿态和位置控制完善的安全机制: 保障飞行安全丰富的配置选项: 通过参数系统实现高度可定制性这种架构使ArduPilot能够适应从简单的多旋翼到复杂的自主飞行器等各种应用场景。类结构分析:Mode基类 (mode.h/mode.cpp)

fengforky的专栏 3018

如何使用Google的Test库,进行单元测试?有哪些注意事项

如何使用Google的Test库,进行单元测试?有哪些注意事项

Kp0fS的草稿纸 1549

从原理到实现:在《图灵完备》中构建一个144*256像素、1536时钟刻/帧的视频播放器

本文详细解析了在《图灵完备》游戏中构建144*256像素、1536时钟刻/帧视频播放器的全过程。从图灵完备原理出发,通过分层架构设计、视频数据预处理和关键电路实现,展示了如何用基础电子元件模拟现代显卡功能。重点介绍了像素坐标定位系统和颜色数据处理流水线的优化方案,为游戏内复杂电子系统设计提供实践指导。

weixin_42520025的博客 445

google test 环境搭建

最近一直想学一学单元测试,但是却总是卡在搭建环境上,好吧,一步步来,手把手教你搭建环境。 0. 获取源码,传送门在此 https://github.com/google/googletest 1. download之,然后看一下源码目录 我看过之后,觉得对于初学者来说,最有用的就是docs和samples,samples目录下都是一些由浅入深的教你进行单元测试的案例 注释也比较详尽。 ...

Alfredo的博客 1110

我的二进制漏洞挖掘学习路线

漏洞挖掘也分好多方向:浏览器漏挖,虚拟化,iot,车联网,应用安全等。而且也要区分一下平台,Linux,Android,Windows,还有一些其他的系统。在基础知识拿捏以后,Windows下如OD,windbg,x64dbg。IDA,GDB要会并联调。然后需要了解一下漏洞的知识,漏洞利用的知识。可以从复现漏洞,CTF来学习,学习完之后就可以通过审计源码或者反汇编二进制程序来挖掘。然后就是练就行了,多关注一下最新安全消息,安全漏洞。

qq_36918532的博客 4942

sentaurus学习笔记(一)器件仿真

之前有跟大家说,以后转到sentaurus,因此silvaco会用的比较少,结果发现真的有一点贪心厌旧的感觉,现在基本上不用silvaco(lll¬ω¬)故这篇文章,将为大家带来的是关于sentaurus的结构仿真和器件的特性的提取。我们还是老规矩,先上结构图。 还是一个经典的IGBT结构,这是一个典型的N型IGBT,下面我将把一些相关的结构,和具体的写法用下面一幅图表达出来。 这里因为方便看,我们把器件的比例画的比较抽象。可以看到的是,这里有很多的距离参数是用一些变量名来写的,这也是sentaurus

weixin_43262021的博客 2万+

windows下Google Test测试框架的环境搭建

最近一直使用Gtest进行接口的功能测试,本文简单记录一下Gtest框架的获取、框架的搭建。

daqing5569的专栏 2992

告别SendKeys!用DD驱动级模拟在Windows 10/11上实现真·后台键鼠操作(Python实战)

本文详细介绍了如何使用DD驱动级模拟技术在Windows 10/11上实现真后台键鼠操作,解决传统方法如pyautogui和SendKeys的局限性。通过Python实战案例,展示了驱动级模拟在游戏自动化、RPA等场景中的高效应用,包括环境配置、核心API解析及高级优化技巧。

weixin_42519985的博客 798

在 MSYS2 环境中安装并使用 Google Test 测试框架

在 MSYS2 环境下安装了 Google Test 测试框架,并编写了一个简单的 C 语言测试例程。这些步骤适用于在 Windows 环境下使用 MSYS2 进行 C/C++ 开发和测试。

weixin_73271965的博客 880

C#集成Bartender:动态图片标签打印的实战与优化

本文详细介绍了在C#程序中集成Bartender实现动态图片标签打印的实战方法与优化策略。通过具名数据源绑定、图片对象尺寸控制等核心技巧,解决了动态图片显示/隐藏的难题,并提供了从模板设计、代码架构到性能优化、错误处理的全流程指南,帮助开发者构建稳定高效的工业级标签打印系统。

weixin_29216957的博客 431

(王道计算机组成原理)第二章数据的表示和运算-第三节:运算方法和运算电路 1(基本运算部件)

本文主要介绍了计算机组成原理中的加法器和算术逻辑单元(ALU)的基本概念与实现原理。首先,文章详细讲解了一位全加器的工作原理,包括其输入输出、逻辑表达式及真值表。接着,介绍了并行加法器的两种类型:串行进位和并行进位的加法器,分析了它们的优缺点。随后,文章探讨了带标志位的加法器,说明了如何通过标志位生成逻辑来判断加法结果的状态。最后,文章阐述了ALU的功能及其实现原理,包括ALU的基本结构、控制信号的作用以及在实际考试中的图示表示。通过这些内容,读者可以全面了解加法器和ALU在计算机中的重要作用及其工作原理。

快乐江湖的博客 3837

Google Mock 和 Google Test编写单元测试入门(环境配置、执行)

Google Mock 和 Google Test环境配置。从环境配置到项目创建演示一个gtest完整流程。通俗易懂

路人的博客 1338

excel 如何自动调整行间距 vba

EXCEL是一个非常使用的软件,虽然我们平时仅使用他做一些报表,仅此而已;我在工作中,由于很懒,不愿意做考试重复的工作,就想着使用vba的宏来完成重复的工作,这样就能省出一部分的时间来了。本人不喜欢在博客里面写以下教程类的东西,我的理念是将工作中的痛点的解决办法分享出来,以解决问题为主。

sixtome 1316

linux tbb 安装_Linux环境下配置Google Test、TBB、OpenMP和OpenCV

最近逐渐把开发环境从Windows转到Linux下,原因是Visual Studio提供的环境太庞大,总感觉看不到全貌,并且对于C++11的支持实在是太慢了。而在Linux下,有非常大的选择空间,编辑器可以选vim或者emacs,两者都是顶级的文本编辑器(不仅仅是文本编辑器)。编译器可以选g++或者clang,两者对于C++11的支持已经几乎完整了。另外还有各种优秀的工具可以选择,可以用autot...

weixin_39834780的博客 473

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

利用cmake搭建google test环境

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33692284的博客 951

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 动态规划-选学生
下一篇: snapshot
github_30830155
博客等级 码龄11年 5粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值