【问题标题】:Protocol buffers testing C++: expect/tcl/tk?协议缓冲区测试 C++:expect/tcl/tk?
【发布时间】:2014-02-28 16:04:05
【问题描述】:

我有几个模块在确定的端口上侦听以使用带有协议缓冲区 (C++) 的 UDP 相互通信。
我需要对它们中的每一个进行自动化测试。
进行测试的最佳策略是什么?

我的意思是我可以编写一个 C++ 程序,使用确定的命令来模拟每个组件,例如在 xml 中:

<commands>
  <send cmd="blahblah" from="module1" to="module2">
  <expect cmd="ack" from="module2" to="module1">
</commands>

但有人告诉我可以使用 Expect/Tcl/Tk。经过一些研究,我认为序列化 protobuf 的命令不能用静态文本完成,除了我调查的内容之外,Expect 与输出流一起工作,并且为了测试这些组件,我需要一些与 TCP/UDP 套接字一起工作的东西。如果我错了,请纠正我。那么是否有其他工具可以实现这种行为(我的意思是套接字)?

我对 protobuf 和期望都没有经验。我想听听一些意见,也许可以使用其他一些工具来执行这种类型的测试。

【问题讨论】:

    标签: c++ automated-tests expect protocol-buffers


    【解决方案1】:

    Expect 不太适合二进制数据,所以我不会将它用于协议缓冲区消息。

    我建议编写一个小型 C++(或任何其他语言)程序,该程序需要发送命令和期望响应,就像您建议的那样。您可以使用protocol buffers text format 来表示您的数据,因此您不必为每条消息编写手动 XML -> protobuf 转换。

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2011-04-23
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多