我正在研究用 C 编写的单元测试嵌入式系统代码的方法。

同时我也在寻找一个好的UT框架我可以使用。该框架应该具有相当少量的依赖项。

有哪些优秀的开源产品具有良好的 UT?

编辑:

各位,谢谢你们的回答--我 真的 欣赏他们,但这并不 直接地 回答我的问题:

您知道有任何使用 C 单元测试的开源代码吗?我想看看它是如何完成的,以便我可以从代码中学到一些东西......

有帮助吗?

解决方案

编辑:有一个使用 Check 作为单元测试框架的项目列表 检查项目页面. 。有些链接已经过时,但您可以浏览单元测试的源代码 颜料南华大学 ;必须为其他人下载源代码。


小单位 完全没有依赖关系,可以用作构建您自己的框架的基础。

就方法而言,我从最低级别的函数(叶子)开始。很多时候,当我测试较高级别的函数时,它们会调用较低级别的函数。这不是问题,因为较低的功能已经经过测试。

我还将代码模块化为“对象”或对象表。存根功能允许独立于硬件或其他组件进行测试。

我使用删除静态的定义来删除它们,或者将包含要测试的函数的源文件包含到单元测试源文件中。

#if defined(UNIT_TESTING)
#define STATIC
#else
#define STATIC static
#endif

这里没有火箭科学,但这确实有效。

最后一件事,测试行为,而不是实现,这样单元测试就不会在实现更改时中断。

其他提示

模块化您的代码,使底部有一个薄层了解底层硬件的详细信息。然后可以在普通 PC 上模拟该层。这样,您就可以使用常规的单元测试库进行桌面开发来测试除薄底层之外的所有代码。

我在 Linux 上开发嵌入式软件的经验是使用 C++,而不是普通的 C。我们使用 cppunit 进行单元测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top