首页 > 解决方案 > 在 Eclipse 中设置单元测试 arduino 代码

问题描述

在退休之前,我根据 James W. Grenning 所著的 Test-Driven Development for Embedded C 一书成功地向我的团队介绍了 Eclipse 中针对嵌入式 arm 交叉编译目标的单元测试

现在我想为我自己的 Arduino 项目做同样的事情,但我遇到了一些障碍

我有 Eclipse Arduino 插件在一个示例项目(目标项目)上工作 - 要单元测试的函数和类位于该项目的单独文件夹中(称为“应用程序”)

我在一个单独的测试项目中安装了 CppUTest 单元测试库我在这个测试项目中包含了来自目标项目的“应用程序”文件夹

现在,这个测试项目不能立即解析目标文件中的包含文件,如果我手动将这个头文件包含到测试项目中,它会引用其他包含文件,我开始消失在一个兔子洞里试图满足其他头文件参考

我最初通过从目标函数和类中删除来解决这个问题,到目前为止,唯一需要的更改是将 Arduino 类型定义(如“字节”)更改为标准 C“无符号字符”——然后这些在两个项目中都可以很好地复制广告测试运行并通过

但我不是特别喜欢必须更改类型定义,并且希望能够包含,并保持代码在通常的 Arduino '风格'

所以,问题是 - 有没有更好的方法来做到这一点?

我确实认为我应该能够将 CppUTest 库添加到 Arduino Eclipse 项目中,作为测试项目,但似乎没有像使用 ac/ 那样添加库和包含 Arduino 项目路径的选项c++ 项目,我没有看到将所有必要的 Arduino 头文件添加到标准 C++ 项目的简单方法,特别是因为我相信某些头文件依赖于所选的 Arduino 平台,当然不支持一个标准的 C++ 项目

有一个通用的解决方案会很好,这样我就可以使用不同的单元测试框架创建其他测试项目,因为我以前的同事已经转向 Cxx 单元测试框架,还有其他的(比如谷歌)我想要尝试

期待您的建议

标签: eclipseunit-testingarduinotddcpputest

解决方案


推荐阅读