我希望能够对我的Arduino代码进行单元测试。理想情况下,我可以在不将代码上传到Arduino的情况下运行任何测试。有什么工具或库可以帮助我做到这一点?
有一个可能有用的Arduino emulator in development,但它似乎还没有准备好使用。
Atmel的AVR Studio包含一个可能有用的芯片模拟器,但我不知道如何将其与Arduino IDE结合使用。
发布于 2009-04-26 20:12:39
在没有任何预先存在的Arduino单元测试框架的情况下,我创建了ArduinoUnit。下面是一个简单的Arduino草图,演示了它的用法:
#include <ArduinoUnit.h>
// Create test suite
TestSuite suite;
void setup() {
Serial.begin(9600);
}
// Create a test called 'addition' in the test suite
test(addition) {
assertEquals(3, 1 + 2);
}
void loop() {
// Run test suite, printing results to the serial port
suite.run();
}
发布于 2010-10-04 08:52:28
我们正在使用Arduino板进行大型科学实验中的数据采集。随后,我们必须支持几个不同实现的Arduino板。我编写了Python实用程序来在单元测试期间动态加载Arduino十六进制图像。以下链接中的代码通过配置文件支持Windows和Mac OS X。要找出Arduino IDE放置十六进制图像的位置,请在单击build (play)按钮之前按shift键。在按住Shift键的同时点击upload,以找出avrdude (命令行上传实用程序)在您的系统/ Arduino版本中的位置。或者,您可以查看包含的配置文件并使用您的安装位置(当前在Arduino 0020上)。
发布于 2011-10-24 20:14:42
将特定于硬件的代码与其他代码分开或抽象化,这样您就可以在任何您拥有良好工具且最熟悉的平台上测试和调试更大的" rest“。
基本上,尝试从尽可能多的已知工作构建块构建最终代码。然后,剩下的特定于硬件的工作将变得更加容易和快速。您可以使用现有的仿真器和/或您自己的仿真设备来完成它。然后,当然,你需要以某种方式测试真正的东西。这取决于环境,这可能是很好的自动化,也可能不是很好的自动化(即谁或什么将按下按钮并提供其他输入?谁或什么将观察和解释各种指标和产出?)
https://stackoverflow.com/questions/780819
复制相似问题