分享几个嵌入式软件单元测试框架.docx
《分享几个嵌入式软件单元测试框架.docx》由会员分享,可在线阅读,更多相关《分享几个嵌入式软件单元测试框架.docx(16页珍藏版)》请在优知文库上搜索。
1、作为一名合格的嵌入式软件工程牌,不仅需要写业务代码,还需要n叭元测试代码,这个时候,有一我单元测试框架就显得尤为重要.软件开发中,每次需求的变更基本都需要改写代码,而代码变更后就需要进行功能测试.当然,在功能测试之前需要代码的单元测试,避免代码改动后部分场景没有验证,最后出现各种问题.通过测试框架快速完成代码的单元测试,不仅可以覆蔽之前测试的场景,也能快速反应问题在哪里.常用的C语言费试樨架有: Unity;,个小型的,开源的C语言测试机;架,提供了用于测试的基本结构和函数.简单好用,常用于嵌入式系统开发. CUnit;,个面向C语言侧试的框架,使用简单,支持自动化测试和手动测试. Check
2、:适用于C语言的单元测谎框架,使用简单,支持测试我件、测试用例的管理,便于维护测试组件. Goog1.eTest:Goog1c推出的C+测试框架,支持C语言,可以跨平台,具有丰富的斯言辉和Mocks. CBOCkai适用T-C语言的单元测试框架,支持内存泄漏检测,支持Hock函数和StUb函数等高级用法. criterion:基于C语言的单元测试框架,支持参数化测试和测试用例依赖,具有良好的性能和易用性.这里介绍Unity,其他的大家感兴趣可以自行查阅,不同的单元测试框架适用下不同的开发需求和场嵬。开发人员可以按照自己的项目要求选择最适合的框架.UnityW小可以只用到几个文件即可完成,把Un
3、ity源码目录下的Unity.c、Unity.h、Unity_internaIs.h三个文件复制至我们的工程目录下进行编译即可,然后在测试文件代码中包含简单的示例完成功能函数的验证:/这里可以放置每个测试用例运行前的初始化代!VOidtearDown()1/这里可以放置何个测试用例运行后的清理代四itAdd(ita,intb)returna+oidtestAddFun(voidEST_ASSERT_EQUA1._UINT(4,Add(1.,5);TEST_ASSERT_EQUA1._UINT(-6,Add(1.,-5);|UNITY_BEG1N();启动测试RUIvrEST(SSJAddFUn
4、);UNITY_END();结束测试returnC;通过串口或终端打印内容为:C:testtest.c:47:testAddFun:PASS33其中.un:ty_intcrna1s.h文件中可以修改输出终端,即.H:TY_O,1?U:_Ct-:AR宏的定义.*OutputMethod:stdout(DEFAU1.T/defineUNHYOUYPUT一CHAR(八)(Void)PUtChar(aI*ifdefinedassothinge1.se,makesurewedec1.oreitheresoeterfoicMNITUTPUTCHARHEADERDEC1.ARATION:endif其中,自定
5、义实现的C语言扩展库(Cot)的容卷功IB函数都已通过Unity添加了对应的单元窝试用例,倍接,https:/giteecom/const-zpc/cot旨在打造一个C语言的通用扩展库。1、介绍支持多种容器实现,包括通用队列(包括不定长队列)、栈、双向链表和动态数组功能双向健表W点可动态创建(需要在初始化分此内存)或静态添加动态数组在初始化分配的内存中最大限度地使用,支持随机访问(连续地址支持定义序列化/反序列化的结构体功能使用到fBoost库中的PP库功能宏谱法:确保两边都播要保持头文件结构体定义一致移植了部分C+B。St库中的PP库功能通过宏语法实现复杂的宏语言,灵活进行使用在编译的时候生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分享 几个 嵌入式 软件 单元测试 框架