2

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

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

任何具有良好 UT 的优秀开源产品?

编辑:

伙计们,感谢您的回答——我真的很感激他们,但这并不能直接回答我的问题:

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

4

2 回答 2

2

以这样的方式模块化你的代码,在底部有一个薄层,它知道底层硬件的细节。然后可以在普通 PC 上模拟该层。这样,您可以使用普通的单元测试库进行桌面开发来测试除薄底层之外的所有代码。

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

于 2010-03-25T19:26:05.873 回答
1

编辑:在检查项目页面上有一个使用检查作为单元测试框架的项目列表。部分链接已过时,但可以浏览颜料SCEW的单元测试源码;必须为其他人下载源代码。


minunit完全没有依赖关系,可以作为构建自己框架的基础。

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

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

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

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

这里没有火箭科学,但这可以解决问题。

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

于 2010-03-25T19:49:15.940 回答