【发布时间】:2011-08-19 17:55:16
【问题描述】:
哪些工具通常用于单元测试,尤其是嵌入式系统的持续集成?
我特别认为您通常必须交叉编译和部署,并且您不能轻松地可视化目标平台。此外,运行测试代码和框架可能很困难。
我还能用什么来缓解这些困难?
(我认为应该是某种双重目标,构建服务器在更简单的目标上运行测试)
【问题讨论】:
标签: unit-testing embedded continuous-integration embedded-linux
哪些工具通常用于单元测试,尤其是嵌入式系统的持续集成?
我特别认为您通常必须交叉编译和部署,并且您不能轻松地可视化目标平台。此外,运行测试代码和框架可能很困难。
我还能用什么来缓解这些困难?
(我认为应该是某种双重目标,构建服务器在更简单的目标上运行测试)
【问题讨论】:
标签: unit-testing embedded continuous-integration embedded-linux
对于单元测试,请查看 Unity。 http://sourceforge.net/apps/trac/unity/wiki 它是 Ruby 脚本支持的真正轻量级测试工具(2 个 .h 和 1 个 .c 文件)。我们一直在嵌入式 ARM7 目标系统中使用单元测试(通过串行端口重定向测试报告)。 CMock 也支持(惊喜,惊喜)Mocking。尽管不广泛,但它们的优点是它们非常易于使用。 关于 CI,如果您是基于 Linux 的,那么 Hudson 非常好。 还可以查看 CppUTest 并查看 James Grenning 的书籍“嵌入式 C 的 TDD”http://renaissancesoftware.net/
【讨论】:
在工作中我使用 embUnit 框架:
http://embunit.sourceforge.net/embunit/index.html
这个框架的好处是它很精简。它不需要任何外部库(甚至不需要 libc)。您可以轻松地挂接您自己的输出函数,因此如果您在与外部世界的唯一连接是 jtag 或 UART 的系统上工作,那么 embUnit 仍然可以工作。
【讨论】:
【讨论】:
我见过在一个系统上使用 C(pp)unit,它可以让你通过 JTAG 启动到目标。
有助于对控制台通讯等进行排序。
但它可以工作。
【讨论】:
为此,我正在开发一个开源的 tool,它可以是最小的测试,也可以在通过调试器运行时提供详细信息。
【讨论】: