通常使用哪些工具进行单元测试,尤其是嵌入式系统的持续集成?
我特别在想,你通常需要交叉编译和部署,而且你也不能很容易地可视化目标平台。此外,运行测试代码和框架也可能很困难。
我能用什么来缓解这些困难呢?
(我认为它应该是某种双重目标,构建服务器在更容易的目标上运行测试)
发布于 2011-05-10 16:10:08
要进行单元测试,请看Unity。Ruby脚本支持的一个非常轻量级的测试工具(2个.h和1个.c文件)。我们已经在嵌入式ARM7目标系统中用于单元测试(通过串行端口重定向测试报告)。它也被CMock支持用于(惊喜,惊喜)模仿。尽管不是很广泛,但它们的伟大之处在于它们非常易于使用。关于CI,如果你是基于Linux的,那么Hudson是非常好的。还可以看看CppUTest,并在http://renaissancesoftware.net/上查看James Grenning的书“嵌入式C的测试驱动开发”
发布于 2011-05-10 16:34:37
在工作中,我使用embUnit框架:
http://embunit.sourceforge.net/embunit/index.html
这个框架的优点是,它是精简的。它不需要任何外部库(甚至libc)。您可以轻松地挂接您自己的输出函数,因此,如果您使用的系统与外部世界的唯一连接是jtag或UART,那么embUnit仍然可以工作。
发布于 2011-05-06 13:34:15
我已经使用RCUNIT和CANTATA++在PC上对嵌入式代码进行了单元测试。任何Nunit都应该很容易集成到任何连续的测试平台中。我们发现,只在PC上模拟硬件,并在最终集成期间仅在目标上进行测试要容易得多。
硬件接口抽象是在PC上对嵌入式代码进行单元测试的关键。这对于持续集成很有效,因为它在pc上运行,只模拟硬件访问。只要稍加努力,我们就可以在PC上测试95%的代码,以便继续集成。
你也可以看看这些问题:
https://stackoverflow.com/questions/5904335
复制相似问题