首次运行gtest

单元测试gtest的安装与使用方法【结合官网的sample】 gtest单元测试是Google的一套用于编写C++测试的框架,可以运行在很多平台上(包括Linux、Mac OS X、Windows、Cygwin等等)。基于xUnit架构。支持很多好用的特性,包括自动识别测试、丰富的断言、断言自定义、死亡测试、非终止的失败、生成XML报告等等,本文对gtest的安装以及基本使用方法进行细致说明,希望对您有所帮助。 阅读详情

看到 cleanfight 下面有 test/unit, 估计是做单元测试用的

一个make (Ubuntu下面) 都编译了,再到 cleanflight/obj/test 生成了很多可执行文件

原来 cleanflight的单元测试不是是stm32上跑了,而是在pc上跑,主要测试函数的功能


找个源元件,原来是用gtest写的,下面就在 cleanflight目录下做 gtest的试验

1)编写一个文件叫 1.c

=======  1.c ============

#include "gtest/gtest.h"


TEST (SquareRootTest, PositiveNos) { 
    EXPECT_EQ (18.0, 18.0);
}


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


2) 用下面的命令编译,得到可执行文件 1
g++ -isystem  ./lib/test/gtest/inc 1.c ./obj/test/gtest-all.o -o 1 -lpthread 


3)运行得到结果

$ ./1 


[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from SquareRootTest
[ RUN      ] SquareRootTest.PositiveNos
[       OK ] SquareRootTest.PositiveNos (0 ms)
[----------] 1 test from SquareRootTest (0 ms total)


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

llvm编译、自带例子toy、llvm编译报错解决、.lib中搜索指定函数名 阅读详情

相关推荐

C++:gtest的使用

Google Test(简称 gtest)是由 Google 开发的一款功能强大、灵活且广泛使用的 C++ 测试框架。它为 C++ 开发者提供了丰富的工具和断言,使得编写和运行单元测试变得更加简单和高效。gtest 具有许多优秀的特性。首先是它的跨平台性,无论是 Windows、Linux 还是 macOS 等主流操作系统,gtest 都能很好地支持,这为不同开发环境的开发者提供了便利。

qq_43441284的博客 1198

gTest简单使用

您可以从 Google Test 的 GitHub 仓库中获取源代码,然后编译它,或者使用包管理工具(如CMake或Conan)来安装它。您可以根据项目的需要编写更复杂的测试用例,并使用gtest的各种断言来验证代码的正确性。Google Test(通常称为 gtest)是一个用于C++的流行的单元测试框架。在您的C++项目中,创建一个测试项目或测试目录,用于存放测试文件。这将安装Google Test到系统中,以便您可以在您的项目中使用它。宏中编写测试代码,并使用gtest提供的断言来验证测试结果。

CHNIM的博客 792

网课、网页视频倍速播放简单脚本

一个简单的网页视频倍速脚本

huazn612的博客 1万+

gtest学习

gtest个人学习整理分享。

weixin_51032194的博客 1万+

从STM32转战小华HC32F448:手把手教你搞定串口复用与超时中断(附完整代码)

本文详细介绍了从STM32迁移到小华HC32F448的串口开发实战指南,重点解析了HC32F448的GPIO复用系统和超时中断机制。通过对比STM32的架构差异,提供了完整的串口配置代码和优化方案,帮助开发者快速掌握HC32F448的串口通信技术,适用于工业控制等应用场景。

weixin_30564901的博客 547

Windows 10下用VS2022编译AFSIM 2.9.0的完整避坑指南

本文提供了在Windows 10系统下,使用Visual Studio 2022编译AFSIM 2.9.0仿真框架的详细指南。文章系统梳理了从环境准备、CMake配置、编译链接到安装打包的全流程,并重点针对编译过程中常见的文件编码、命名空间冲突等高频错误提供了具体解决方案,旨在帮助开发者高效避坑,顺利完成AFSIM在Windows平台上的构建。

weixin_28839549的博客 548

玩转Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数

2. 有时,我在代码中设置 testing::GTEST_FLAG(catch_exceptions) = 1和我在命令行中使用--gtest_catch_exceptions结果稍有不同,在代码中设置FLAG方式有时候捕捉不了某些异常,但是通过命令行参数的方式一般都不会有问题。注意到了,不需要加--gtest前缀了。在我使用过程中发现一个问题,当我同时设置了--gtest_filter参数时,输出的xml报告中还是会包含所有测试案例的信息,只不过那些不被执行的测试案例的status值为“notrun”。

梦心之魂的博客 1993

静态时序分析(Static Timing Analysis, STA):简介及内容导航

静态时序分析(简称STA)是用来验证数字设计时序的技术之一,另外一种验证时序的方法是时序仿真,时序仿真可以同时验证功能和时序。“时序分析”这个术语就是用来指代“静态时序分析“或”时序仿真“这两种方法之一,简单来说,时序分析的目的就是为了解决设计中的各种时序问题。STA被称为静态的原因是其对于设计的分析是静态地执行的,并不依赖于施加在输入端口上的激励。相比之下,时序仿真则可以被视作动态地执行对设计的分析,具体过程描述如下:施加一组激励,观察在这组激励下电路行为是否符合要求,然后换一组激。

Starry__的博客 1986

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

22AP10 SS524 平替 海思HI3521DV200 可提供开发资料

入,突破了数字接口的视频输入性能瓶颈,提供两倍于前代产品的视频输入能力。视频编解码引擎、视频图像处理的算法效果及性能得到了进一步提升。芯片为客户产品提供了高性能、优异图像质量。推理引擎,支持多种智能算法应用。合丰富的外围设备及高速接口,该。解决方案,广泛用于模拟高清。产品应用开发的新一代专。四核处理器和性能强大的。

szhorsway的博客 1010

视频教程-Ps教程之神奇的Photoshop自动化技术-Photoshop

Ps教程之神奇的Photoshop自动化技术 10年以上IT行业工作经验、三...

weixin_28812857的博客 1472

04 - 运行 rocrtst 第一个测试

本文档介绍了如何运行rocrtst测试套件的详细指南。主要内容包括:1)运行前的环境检查清单,确保GPU驱动和库文件准备就绪;2)三种运行方式(推荐从GPU型号目录运行);3)测试套件分类(功能/性能/压力测试等)及命名规则;4)测试筛选方法,支持通配符和排除模式;5)专用参数说明,包括迭代次数、输出详细级别和GPU监控选项;6)gtest常用参数和测试结果解读。文档提供了完整的命令示例,帮助用户快速上手rocrtst测试。

图形/计算GPU的驱动与虚拟化技术分享园地 470

手把手教你用certificate-manager修复Vcenter证书过期问题(附密码重置技巧)

本文详细解析了Vcenter证书过期引发的503服务不可用、密码错误等典型故障现象,并提供了使用certificate-manager工具进行系统性修复的完整步骤。文章重点阐述了证书体系原理、精准诊断方法,并分享了在SSO验证失败时通过vdcadmintool重置密码的关键技巧,帮助管理员快速恢复平台并建立预防性运维策略。

swift5iosmith的博客 457

第一次使用QtTest

之前c++代码用过cppunit,然后开始用gtest,对于qt代码,第一次尝试使用QtTest框架。 要使用QtTest,首先需要在.pro文件中增加配置,让qmake知道要添加qt测试框架: [cce] CONFIG += qtestlib [/cce] 然后,就可以新建一个cpp文件,编写测试代码了: [cce lang=”cpp”] #inclu...

weixin_34186931的博客 1496

YOLO26涨点改进 | 全网独家,注意力创新改进篇 | Arxiv2025 | YOLO26引入MSLA多尺度线性注意力模块,高效提取多尺度特征和建模长程依赖,含多种创新改进,助力有效涨点

本文提出了一种多尺度线性注意力模块(MSLA)来优化YOLO26模型。MSLA通过并行使用不同尺寸的深度可分离卷积(3×3至9×9)提取多尺度特征,并结合线性注意力机制高效建模全局依赖关系。该模块显著提升了模型对多尺度目标的检测能力,同时保持了轻量化特性。实验表明,MSLA能有效增强小目标检测和复杂场景下的分割精度。文章详细介绍了MSLA的网络结构、核心优势及实现代码,并提供了两种集成MSLA的YOLO26改进方案,为实时目标检测任务提供了高效解决方案。

Ai缝合怪、助力小伙伴高效发论文 291

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

gdb调试GTest,GTest加参数运行

一、如何通过GDB调试GTest gdb ./unitTestName 那如果要加参数呢? gdb ./unitTestName回车; 会进入到gdb界面,输入: set args 想要加的参数,回车; 输入: run 回车 二、GTest运行时只想跑部分测试用例怎么办? 比如unitTest里有很多test文件,每个文件里有多个testcase,可是我只想跑部分测试用例呢? ./unit...

winneyDD的博客 6307

IMSL CNL 7.0.0 (x86-64)Crack

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

[C++] gtest入门教程

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

airaou 2万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

用CMake添加gtest测试用例gtest_discover_tests指令函数的分析

本文详细介绍了cmake中的gtest_discover_tests指令函数的实现原理。

一个致力于开源代码学习、分析和交流的博客 1770

【gTest】gtest简介及简单使用

【gTest】gtest简介及简单使用 gtest是一个跨平台(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)的C++测试框架,有google公司发布。gtest测试框架是在不同平台上为编写C++测试而生成的。 从http://code.google.com/p/googletest/downloads/detail?name=gtest-1.7.0.zip&can=2&q=下载最新的gtest-1.7.0版本 在Windows下编

qq_43331089的博客 2万+

gtest实现架构简单分析

公司现在需要一套成型的测试框架,选中了现在开源的gtest测试框架,公司将这个任务交给了我,要在gtest框架基础上进行一些修改,这几天一直在看gtest源码,不懂C++,看起来有点难,不过还是有一些感悟,写下来以备后用   gtest测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUn

做一个有技术追求的人 1万+

gtest测试框架

gtest测试框架,搭建参考 :https://www.linuxidc.com/Linux/2015-05/116894.htm 1. gtest代码下载:https://codeload.github.com/google/googletest/tar.gz/release-1.8.0 2.进入 googletest-1.8.0/googletest/, 删除不需要的文件,完...

ddddfang的专栏 2264

单元测试框架gtest学习(五)—— 运行参数

系统环境变量命令行参数代码中指定FLAG因为提供了三种途径,就会有优先级的问题, 有一个原则是,最后设置的那个会生效。不过总结一下,通常情况下,比较理想的优先级为:命令行参数 > 代码中指定FLAG > 系统环境变量为什么我们编写的测试案例能够处理这些命令行参数呢?是因为我们在main函数中,将命令行参数交给了gtest,由gtest来搞定命令行参数的问题。这样,我们就拥有了接收和响应gtest命令行参数的能力。

qq_58158950的博客 1368

GTest使用教程(三)-- 运行参数

1 前言 使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。 2 基本介绍 前面提到,对于运行参数,gtest提供了三种设置的途径: 系统环境变量 命令行参数 代码中指定FLAG 因为提供了三种途径,就会有优先级的问题, 有一个原则是,最后...

Fisher 2万+

两步实现在C代码中快速集成gtest进行单元测试

曾经多次问我自己,是否需要写测试代码。 但平时的技术支持工作主要是快速阅读和调试代码,没有对代码功能测试验证的需求,所以没有留意。 直到我开始从头写一些密码学的基本功能代码,例如各种哈希算法,分组密码算法,流密码算法,分组密码的各种工作模式,各种国密算法的时候,才发现测试对于我来说,需求非常强烈。 尤其是有一次,我已经验证正确的某个代码,在此基础上实现新功能时,修改了底层代码,看起来好像没啥问题,然后在将来的某一天才发现那个修改引入了bug,又得重头查找问题的原因。如果有完整的测试,恐怕当场就能发现,而不是

洛奇看世界 9457

什么是 GTest?

GTest(Google Test)是一个由 Google 开发并开源的 C++ 单元测试框架。它提供了一组强大的功能和工具来帮助开发人员为他们的 C++ 代码编写和执行单元测试。单元测试是软件开发中的一种常见实践,它指的是对单独的代码单元(如函数、类方法等)进行独立验证,确保每个部分都按预期工作。GTest 是用于 C++ 中实现这种测试的一种工具。自动化测试过程提供易于理解和管理的测试输出提供各种测试断言(例如检查函数输出是否符合预期)

pumpkin84514的博客 1530

让gtest输出xml文件时只输出运行的用例

我们的自动化测试框架是基于gtest的框架的,目前在向Wince移植的时候,对gtest的输出重定向那块出了问题,由于gtest在Wince上不支持   testing::internal::CaptureStdout(); 函数,导致我们无法获得输出信息,以至于无法解析运行结果。 后来的思路是想如果gtest的输出可以输出到文件里,那么我们直接解析文件就好了,经过查找发现gtest 可以输出到

ntting的专栏 3843
上一篇: Ubuntu下编译Openpilot
下一篇: 编程练习:找到和最大的子序列
span76
博客等级 码龄18年 117粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值