首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用模拟对象来模拟串行端口吗?

我可以使用模拟对象来模拟串行端口吗?
EN

Stack Overflow用户
提问于 2011-04-20 09:12:22
回答 1查看 5.4K关注 0票数 5

我正在用C++/CLI开发一个应用程序,它通过串口与设备通信。用MS测试测试他们。我只是在阅读有关模拟对象的内容,并且只从概念上理解了它。我在单元测试中面临许多挑战,主要是因为我用来通过串口向我的应用程序发送数据的模拟器以某种方式运行,我无法让它改变它的行为。

我想知道的是:

  • 可以使用模拟对象来模拟串口行为吗?它的输入缓冲区?
  • 可以使用模拟对象来更改串口行为(即假装端口被阻塞)。
  • 可以模拟更基本的类(例如,我想测试分配数组的代码的一部分)。
  • 是Rhino Mocks,适合于模拟C++/CLI应用程序吗?
  • 任何其他的模拟框架(最好是免费的,但对付费的框架开放),在您的经验中对此任务是好的吗?
  • 与MS Test.

有关系吗?

EN

回答 1

Stack Overflow用户

发布于 2012-02-28 03:56:10

我是在C嵌入式背景下回答这个问题,但我觉得你的问题在嘲弄方面相当笼统,答案应该适用。

我可以使用模拟对象来模拟串口行为吗?它的输入缓冲器?

是的,这里是一个很好的例子,它是一个被模仿的UART:http://throwtheswitch.org/white-papers/when-bad-code-runs-green.html

可以使用模拟对象来更改串口行为(即假装端口>被阻塞)。

这正是嘲笑的目的。只要您的代码被划分成层,例如

  • 硬件驱动层
  • 控制层
  • API层用于外部模块

然后,您可以模拟模拟有效操作所需的任何层:缓冲区满、硬件故障等。

可以对更基本的类使用模拟(例如,我想测试我的代码>分配数组的一部分。我可以让模拟假装内存分配由于内存不足而失败吗?

是的,这与前面的问题相似,因为如果您的代码已经包装了一些内存分配代码,那么您可以模拟包装器返回的内容。也许您有一个内存管理器类型类

适合模拟C++/CLI应用程序吗?

对此不太确定

,在您的经验中,有哪些其他的模拟框架(更好的免费软件,但对付费的框架开放)对此任务有好处?

上面链接的示例来自unity + CMock + Ceedling (主要是一个C测试框架)。它是开源的,对于嵌入式C应用程序非常有用。不确定是否支持C++。

,这些是否与MS测试相吻合?

对不起,我也不知道这个

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5727992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档