gpt4 book ai didi

c++ - Arduino - 使用 VS2015 进行简单的基于类的单元测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:48:14 25 4
gpt4 key购买 nike

我想使用 VS2015 Express (+VisualMicro) 对我为 arduino 平台编写的单个类进行单元测试。

我所说的单个类是指重点放在 RingBuffer.h + RingBuffer.cpp 上。我不想模拟 arduino,甚至不想在真实硬件上运行单元测试。

我的解决方案中有两个项目:

  • Project1 包含将在 arduino 上运行的代码。
  • Test1 是一个 win32 控制台应用程序,包含测试并使用简单的 _ASSERT 来验证输出。

在这两个项目中,我都使用 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 错误“未解析的外部符号”结束。

最佳答案

好的,这个真的很简单:

#include "../Project1/RingBuffer.cpp"

感谢 Martin 提供的演示项目!

关于c++ - Arduino - 使用 VS2015 进行简单的基于类的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34172654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com