littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于C语言的分层状态机与单元测试项目

项目简介

本项目包含两部分核心内容。一部分是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

构建步骤

  1. 工具文档位于vendor/ceedling/docs
  2. 执行ceedling help查看可用的测试和构建任务。
  3. 执行make-all.bat进行全面清理、构建、生成标签和文档。

Unity单元测试使用步骤

  1. 设置测试环境:配置Unity并创建测试文件。
  2. 编写测试:使用Unity的语法编写测试函数和断言。
  3. 运行测试:调用Unity的UnityDefaultTestRun函数来运行测试。
  4. 分析结果:查看测试结果,并根据需要调整代码。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】