【发布时间】:2015-12-09 07:06:39
【问题描述】:
我想用 VS2015 Express (+VisualMicro) 对我为 arduino 平台编写的单个类进行单元测试。
我的意思是说重点是 RingBuffer.h + RingBuffer.cpp。我不想模拟 arduino,甚至不想在真实硬件上运行单元测试。
我的解决方案中有两个项目:
- Project1 的代码将在 arduino 上运行。
- Test1 是一个包含测试并使用简单 _ASSERT 验证输出的 win32 控制台应用程序。
在这两个项目中,我都使用 stdafx.h 来定义基于预处理器指令的环境,我在其中抽象硬件内容。示例:
#if UNITTEST
typedef unigned short uint16_t
#define DISABLE_INTERRUPTS
#else
#include "Arduino.h"
typedef unsigned int uint16_t
#define DISABLE_INTERRUPTS cli()
#endif
当项目较小时,我在测试项目中开发类实现,然后将文件复制到 arduino 项目中。但是这个工作流程很糟糕,因为文件不同步。
如何设置单元测试项目使用真实 arduino 代码中的 .cpp 文件的解决方案?我设法通过添加新的 /INCLUDE 目录轻松地包含头文件。但我无法添加来源。 我总是以 LNK2019 错误“未解析的外部符号”告终。
【问题讨论】:
-
在阅读了大量帖子后...有有人在 adruino 上进行单元测试吗?
-
如需将 Arduino 代码作为 PC 程序进行测试,请参见例如Moon Phase Calendar for Arduino, using Pro Trinket 并查看 test 文件夹..
标签: c++ visual-studio unit-testing arduino