【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c, unity_fixture.c)

news2024/9/28 13:07:10

山不在高,有仙则名。水不在深,有龙则灵。

                                        ----CSDN 时时三省

目录

1,移植介绍

2,使用 Code::Blocks 17.12 创建工程

3,搬移文件入工程目录

4,更改代码

5,向工程添加文件

6,运行结果说明

7,更改main.c代码,转换unity test 执行模式

第一种修改方法:

第二种修改方法:

第三种修改方法:

8,移植ok的资源下载

1,移植介绍

        与《【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c)》文章移植步骤一样,区别在于 unity_test 的核心文件多移植了 extras 目录里面的文件。

2,使用 Code::Blocks 17.12 创建工程

        参考 《【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c)》文档第一章。【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c)-CSDN博客

3,搬移文件入工程目录

移入的文件为:
        一:将 Unity\src 下的 unity.c 、 unity.h 、 unity_internals.h 拷贝到工程目录下

        二:将 Unity\extras\fixture\src 下的 unity_fixture.c,unity_fixture.h, unity_fixture_internals.h 拷贝到工程目录下

        三:将 Unity\extras\memory\src 下的 unity_memory.c,unity_memory.h 拷贝到工程目录下

        四:将 Unity\examples\example_2\src 下的 ProductionCode.c 、 ProductionCode.h,ProductionCode2.c 、 ProductionCode2.h 拷贝到工程目录下
        五:将 Unity\examples\example_2\test 下的 TestProductionCode.c,TestProductionCode2.c 及其子目录 \test_runners 下的 TestProductionCode_Runner.c ,TestProductionCode2_Runner.c,all_tests.c拷贝到工程目录下

文件简介:

        前三种移植文件为unity的库文件。第四种为被测试的源代码。第五种为测试代码以及main函数。

迁移好之后的文件目录如下图:

4,更改代码

将 all_test.c 的代码拷贝进 main.c。并将代码更改如下,特别注意下划线位置的代码:

5,向工程添加文件

        将第三步搬移过来的文件,除 all_tests.c 文件外,全部添加进工程,添加之后的工程如下图所示:

备注:

        具体添加方法可参照:【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c)-CSDN博客

6,运行结果说明

运行结果如下图的截图:

对于成功和失败的用例,均有打印日志。

7,更改main.c代码,转换unity test 执行模式

第一种修改方法:

假设修改UnityMain() 函数的第一传参为1,则执行结果如下图:

修改参数后,则执行结果中,没有关于成功用例的pass打印了。

第二种修改方法:

假设修改UnityMain() 函数的第一传参为3,argv[] 数组增加元素 "-r", 则执行结果如下图:

如上执行的结果,用例执行两次,且包含pass打印。

第三种修改方法:

假设修改UnityMain() 函数的第一传参为2,argv[] 数组元素 "-h", 则执行结果如下图:

如上执行的结果,用例未执行,打印 argv[] 参数的含义。

备注:

       之所以有这么多种模式,是因为 UnityGetCommandLineOptions()函数。可以打开源码查看此函数。 

8,移植ok的资源下载

下载即可运行:

https://download.csdn.net/download/2301_81226734/89613716

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解锁PDF新姿势:2024年PDF转图片工具精选

随着数字化办公的普及和文档处理需求的日益增长,PDF转图片工具已成为日常工作中不可或缺的一部分。这些工具不仅帮助用户轻松地将PDF文件转换为图片格式,还提供了丰富的编辑、转换和批量处理功能,极大地提高了工作效率。 1.福昕PDF转换大师&…

数据结构实验报告-栈

实 验 三 报 告 一、实验目的 1.掌握栈的定义、特点、逻辑结构,理解栈的抽象数据类型。 2.熟练掌握顺序栈的结构类型定义、特点和基于顺序栈的基本运算的实现。 3.熟练掌握链栈的结构类型定义、特点和基于链栈的基本运算的实现。 4.理解递归算法执行过程中栈的…

ssh网络协议(服务名sshd,端口22)

目录 前言 配置文件(/etc/ssh/sshd_config) 配置文件内容 自己可以添加的设置: 注意!: ssh连接登录演示 scp文件传输 登录验证方式 密码验证登录 秘钥验证登录 配置ssh密钥对验证登录 生成密钥对&#xff…

JavaWeb基础3:会话/过滤器/监听器

JavaWeb基础3:会话/过滤器/监听器 (qq.com)

海尔、希亦、米博洗地机哪个好用?海尔、希亦、米博洗地机实测PK

洗地机相比普通清洁工具,拥有科学的设计,而且清洁技术专业,能够把地面上的污渍、灰尘、毛发等通通清理干净,保持地面光洁。比起手动清理,它还能减少地面和空气的细菌滋生,可以说是居家必备的清洁神器了。不…

C# 实现改造 GooFlow 流程图插件与数据库应用的结合

目录 关于 GooFlow 功能需求 范例运行环境 设计数据表 流程项目表 流程项目节点明细表 流程项目节点审批人表 人员信息表 示例代码 流程图主功能 设置审批人信息 运行结果演示 总结 关于 GooFlow GooFlow 一个基于 Jquery/FontAwesome 的流程图/架构图画图插件&…

探索Python异步编程的秘境:Eventlet的魔力与魅力

文章目录 **探索Python异步编程的秘境:Eventlet的魔力与魅力**第一部分:背景与引言第二部分:Eventlet是什么?第三部分:如何安装Eventlet?第四部分:Eventlet的基本使用第五部分:Event…

如何用ai来完成数据库分析(2)

一样的前言 因一些课程设计要写长篇分析报告,这里借用ai做一篇指导教程,分上下两篇。这篇也会教如何让ai给你你想要的答案,众所周知,现在的ai并不智能,不针对各类厂家,但是放出来的确实表象如此。 但其实…

CMIP6数据处理技术教程

原文链接:CMIP6数据处理技术教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247611539&idx4&sn3eb0490b72ef694dcd41f6de0b623388&chksmfa827574cdf5fc62372bfcf188ea1ae6e41350ff8469c2940ed097244b205e0dd73f4c8832fa&token616696…

绝对干货!分享把Fildder录制的脚本导出成Jmeter脚本的方法(实测在Fiddler5中有效)

相信做过接口测试的小伙伴都面临过这样的窘境——在没有接口测试文档的情况下,进行接口的压力测试!怎么破? 通常的做法都是利用抓包工具(以fiddler为例)进行抓包,然后把抓包请求手写到压力测试工具中&…

解决Solidworks 2024运行的Windows资源极低,执行此命令可能会导致SOLIDWORKS 失败。

Solidworks Resource Monitor 可供使用的系统内存很低。请关闭一些应用程序以释放资源。即使内存十分充足,也容易出现这些提示,而我个人感觉2024版相比以前版本更容易出现这个问题,这显然是Solidworks本身的Bug。网上普遍流传的解决方法&…

再讲Langchain 提示词模板(PromptTemplate)

在LangChain 0.2中,提示词模板(Prompt Template)是一个非常重要的概念和功能。它允许我们创建结构化和可重用的提示,以便更有效地与语言模型进行交互。 提示词模板的主要作用包括: 结构化提示: 允许我们定义一个固定的提示结构,包含静态文本和动态变量。 参数化: 可以在模板中…

汽车测试-ADAS测试设备RT3000介绍及数据处理

目录 一、分析目的 二、数据采集仪器 三、数据文件 1.数据样本名词解释 2.数据应用 3.简单举例 汽车数据分析示例 1. 行驶轨迹与路径优化 2. 速度与加速度分析 3. 燃油效率与能耗分析 4. 驾驶行为与安全分析 5. 车辆维护与故障诊断 评估导航与定位的准确性。 一、…

测试工程师职业道路管理方向有哪些

目录 01测试组长 测试组长的职责及掌握技能: 测试组长需要掌握的技能: 02测试经理 测试经理具备的职责: 测试经理具备的技能: 03测试总监 测试总监具备的职责: 测试总监具备的技能: 测试工程师管理…

蚓链数字化生态系统:助力企业上下游资源的强大引擎

在当今数字化浪潮汹涌的时代,集团型企业面临着日益复杂的市场环境和激烈的竞争挑战。如何有效地拉通产业上下游资源,实现协同发展,成为了众多企业亟待解决的关键问题。而蚓链数字化生态系统的出现,犹如一道曙光,为集团…

前端工程化12-Git版本控制工具详解

2.1、Git知识概述 理解版本控制工具,聊下他的历史,之后会讲两种版本控制工具的区别(集中式|分布式)、他的基本环境搭建安装,如何初始化本地仓库,如何往仓库里提交一些东西,文件的话会有那些变化…

文本相似度 HanPL汉语言处理

文章目录 前言需求简介实操开始1. 添加pom.xml依赖2. 文本相似度工具类3. 案例验证4. 验证结果 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、 提示:以下是本篇文章正文内容,下面案例可供参考 需求 当我…

【redis 第五篇章】持久化之AOF和RDB

一、概述 Redis 是内存数据库,如果不能将内存中的数据保存到磁盘中,那么一旦服务器进程退出,数据库中数据会消失,所以 Redis 提供了持久化的功能, Redis 分为两种持久化方式:RDB 和 AOF,有以下几个特点&am…

荟萃科技:国外问卷调查有没有实时更新的题库?

有的,口子查和渠道查都是。 口子查的题目都是国外的公司发放在网络上,都是实时发布,所以我们需要去国外的各大社交平台做题。 这些题目不是集中的,而是散布在网站里面,需要我们去找,都是老外上班实时发放…

数据结构(其二)--线性表(其三)

目录 11.特殊矩阵的压缩存储 (1).一维数组的储存结构 (2).二维数组的存储结构 (3).普通矩阵的存储 (4).特殊矩阵的压缩存储 i.对称矩阵 ii.三角矩阵 iii.三对角矩阵 iiii.稀疏矩…