使用unity做C语言自动测试
更新时间:2024-01-24 03:31:01 阅读量: 教育文库 文档下载
1、代码结构
proj为工程(相当于模块)
src为产品代码 demo.c为源文件,demo.h为头文件 test为测试代码,里面包含了unity的源码 编译:
在test下meke,将产品代码+测试代码+unity一起编译 编出两个.out可以直接运行(若一个group则只一个.out) 注:
demo_test_group1/2_Runner.c是自动生成的运行容器
实际工程中的代码结构可设计为: moudule --src --inc
--test 模块的测试代码,依赖模块代码和unity框架代码(即include这两个.h) unity 作为一个模块,另外编译
(可以当做交换驱动一样的东西,单独编译,然后提供.h即提供api给上层调用)
2、操作步骤
(1)将proj文件夹放到/root/TDD文件夹下
(2)将unity源码解压,复制到test/unity处
(3)使用自动生成脚本生成测试容器(Runner)
进入 /root/TDD/proj/test/运行命令(注:若无ruby则用apt-get install ruby安装) ruby unity/auto/generate_test_runner.rb demo_test_group1.c ruby unity/auto/generate_test_runner.rb demo_test_group2.c 会自动根据相应.c生成两个 *_Runner.c 文件
(4)编译&运行 编译: make即可
会编出两个.out 运行:
./demo_test_group1.out ./demo_test_group2.out
也可以将运行命令写入到makefile中,编译测试一步完成 如在最后加./$(TARGET1)
结果:
(注意,test报错的返回值会导致make报错,但其实编译是正确的)
其中通过的测试会显示PASS,没通过的会显示FAIL,忽略的会显示IGNORE
3、源码讲解 (1)模块源码
demo.c中就是产品代码中的函数
demo.h即头文件,extern其中的函数
(2)测试源码
头文件,即依赖产品代码以及unity
测试夹具和测试清除的代码,会在每个测试用例之前之后运行 可以为空,加打印后可以看到如下:
一个完整地测试用例,调用产品代码中的函数,并检查返回值(或其它传出参数)
会被ignore的测试用例
(3)自动生成的.c(测试容器)
其主要工作也就是将testgroup加到main( )中
每个RUN_TEST宏的定义如下:
(4)makefile
只编译一个group,最简单的makefiele如下
即源文件有
demo.c 产品代码文件 unity.c unity文件
demo_test_group1.c 测试代码
demo_test_group1_Runner.c 测试容器(含有main函数)
正在阅读:
使用unity做C语言自动测试01-24
PowerBuilde教程04-19
地理必修二导学案答案06-17
上海将在二三级医院推广使用基本药物11-16
苏教版小学六年级科学下册各单元复习题05-07
程龙讲师:大数据的7个优势,让你的营销更胜一筹 - 中旭文化网12-27
国际通行会计惯例达到会计行为国际化论文04-10
我错了作文500字04-01
共青团员思想汇报范文3篇08-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言
- 自动
- 测试
- 使用
- unity
- 学龄前 慢慢接受孩子“帮倒忙”的阶段山东省网上家长学校
- 2019学年高中政治 第四单元第九课 走进社会主义市场经济 1 市场配置资源学案 新人教版必修1
- 矿山应急预案
- 南昌市第二批中小学(幼)优秀青年骨干教师名单
- 《设计史与艺术史的关联》04设计史学小史
- 室外景观照明电气施工方案(标准版字体及格式)
- 元明清民国老对联
- 小学数学四年级下册运算定律定义和公式
- EXCEL大综合
- 2012.5.7河北事业单位行测解析
- 《企划实战方法与策略》
- 2016上海理工大学电气工程系导师名单
- 计算机平面设计专业调研报告
- 老师 化工试卷
- 债法讲义4
- 大学英语快速阅读课文Wildlife Conservation带翻译 课后习题答案
- 劳动关系管理案例
- 浙财东方《产业经济学》期末论文
- 班组长培训考试试题
- 湖南师范大学、2013级、专科、汉语--陈果玉