我正在寻找有关如何在我的 STM32F7 平台上进行单元测试的建议。人们过去做了什么?你有哪些恐怖故事?你将做点什么不同的?我目前的计划有什么问题?
我的设置
- 带有定制载体 PCB 的 STM32 Nucleo-144
arm-atollic-eabi-gcc
编译器(暂时没有 C++)- 使用 Atollic TrueStudio 作为 IDE
- 从 Ubuntu 16.04 完成的开发
- 在板上运行 FreeRTOS
我的测试计划
有不同级别的测试;我专门谈论对不依赖于外部硬件的库/功能集进行单元测试。诸如“我的环形缓冲区实现是否正确处理滚动而没有内存泄漏”和“此位移操作是否导致结果变量中的正确字节序”之类的东西?所以我专注于这些类型的测试。
- 将我的项目转换为使用 C++ 编译(以及所有相关的
extern C
必需项) - 将我的代码重构为“库”部分和“应用程序”部分。
- 构建
googletest
(这是我们用于系统其他部分的)并将我的库链接到其中进行测试。 - 在通过 Atollic 运行调试会话时在设备上运行单元测试。