基于: James Grenning 的著作《测试驱动的嵌入式 C 语言开发》 环境适配: MSYS2 UCRT64 + GCC + CppUTest 状态: 纯净版 (已清除剧透代码,开箱即用)
这是一个为练习嵌入式 TDD 专门准备的纯净脚手架。 原书的配套代码包含了所有章节的“最终答案”,不仅容易剧透,而且在现代编译环境下(如 VS Code + GCC)存在大量构建错误。
本仓库解决了这些痛点:
- 构建系统修复: 修正了
Makefile,完美支持 MSYS2/MinGW64 环境。 - 无剧透模式:
src/LedDriver.c等实现文件已被清空,等待你亲手实现。 - 零干扰: 移除了
t0-t3等与当前练习无关的遗留文件夹。
这就好比一张空白试卷,你只需要按照书本的节奏,填入你的代码。
- 安装 MSYS2 UCRT64。
- 安装 GCC & Make:
pacman -S mingw-w64-ucrt-x86_64-gcc make - 安装 CppUTest 并设置
CPPUTEST_HOME环境变量。- (详细的图文搭建教程:[这里填你那篇 SOP 博客的链接])
在当前目录下打开终端:
make -f MakefileCppUTest.mk- 预期结果: 编译成功,但测试 失败 (FAIL)。
- 原因: 因为
LedDriver.c是空的。这正是你的工作!
- 打开
tests/LedDriver/LedDriverTest.cpp。 - 编写你的第一个测试 (例如
TEST(LedDriver, LedsOffAfterCreate)). - 运行
make ...-> 红条 (Red)。 - 打开
src/LedDriver/LedDriver.c。 - 实现逻辑。
- 运行
make ...-> 绿条 (Green)。
src/: 产品代码 (你写 C 代码的地方)。tests/: 测试代码 (你写 C++ 测试用例的地方)。mocks/: 硬件模拟层 (已配置好)。MakefileCppUTest.mk: 构建脚本。
Happy Coding! 愿解耦与你同在。