协议缓冲区测试C++:期望/tcl/tk



我有几个模块侦听确定端口,使用带有协议缓冲区的UDP相互通信(C++)。
我需要自动执行每个测试。
哪个是进行测试的最佳策略?

我的意思是我可以编写一个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和期望都没有经验。我想听听一些意见,也许使用其他一些工具来执行这种类型的测试。

Expect并

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

我建议编写一个小的C++(或任何其他语言)程序,它接受一个命令来发送,一个响应来期望,就像你建议的那样。您可以使用协议缓冲区文本格式来表示数据,因此不必为每条消息编写手动 XML -> protobuf 转换。

最新更新