项目简介
本项目包含两部分核心内容。一部分是hsm(Hierarchical State Machine)库,它用纯C语言实现了UML 2.0状态图/状态机,经过单元测试,不采用动态分配和递归,适合嵌入式目标;另一部分是基于C语言的单元测试框架Unity,为C语言提供强大的单元测试支持,有助于开发者保障代码质量与可靠性。
项目的主要特性和功能
hsm库
- 以纯C语言实现UML 2.0状态图/状态机。
- 经过单元测试,确保代码质量。
- 不使用动态分配和递归,适配嵌入式目标。
Unity单元测试框架
- 语法简洁,错误消息清晰,便于编写和运行测试。
- 支持跨平台,可在Windows、Linux和MacOS等多平台运行。
- 易集成到现有C项目,无需大幅修改源代码。
- 支持多种数据类型,能覆盖广泛代码场景。
- 允许开发者自定义测试函数和断言,满足特定测试需求。
安装使用步骤
前提条件
编译所需工具
ruby
- Ruby gem
rake
gcc
(也可在project.yml中定义自己的编译器)
其他工具
- 生成标签需要
ctags
- 生成文档需要
doxygen
构建步骤
- 工具文档位于
vendor/ceedling/docs
。 - 执行
ceedling help
查看可用的测试和构建任务。 - 执行
make-all.bat
进行全面清理、构建、生成标签和文档。
Unity单元测试使用步骤
- 设置测试环境:配置Unity并创建测试文件。
- 编写测试:使用Unity的语法编写测试函数和断言。
- 运行测试:调用Unity的
UnityDefaultTestRun
函数来运行测试。 - 分析结果:查看测试结果,并根据需要调整代码。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】