我有两个类ReceiverSocket
接收数据,SenderSocket
发送数据。
explicit SenderSocket(const std::string &receiver_ip, const int port_num);
在调试模块中,我传递receiver_ip =" 127.0.0.1"。这是一个名为SendPacket
的方法及其声明:
void SendPacket(const std::vector<unsigned char> &data);
与SenderSocket
类似,ReceiverSocket
可以在端口上接收数据。
explicit ReceiverSocket(int port_number);
const std::vector<unsigned char> GetPacket() const;
//The method returns true on success, false otherwise.
const bool BindSocketToListen() const;
为了测试这两个类,我必须创建两个可执行文件,一个用于SenderSocket
另一个ReceiverSocket
。
有没有办法为数据传输编写测试?
答案 0 :(得分:1)
对于手动测试,您是否尝试过使用WireShark?本主题说明如何: https://superuser.com/questions/508623/how-can-i-see-127-0-0-1-traffic-on-windows-using-wireshark?answertab=votes#tab-top
另一个可能更适合自动化测试的选择可能是创建第三个可执行文件,它可以充当中间人。您的两个可执行文件都必须与第三个可执行文件通信,它只传递所有数据,但也允许您监听和验证数据。 当然,你也可以使用一个测试框架来运行“中间人”传递服务器&#39;。