C++ 在没有服务器的情况下,运行客户端应用程序以验证响应的不同方式有哪些?

C++ 在没有服务器的情况下,运行客户端应用程序以验证响应的不同方式有哪些?,c++,unit-testing,testing,client-server,googletest,C++,Unit Testing,Testing,Client Server,Googletest,我有一个CPP客户端应用程序。作为客户端应用程序的一部分,我将以加密格式向http服务器发送一条消息,该服务器将作为另一个服务器应用程序的一部分提供 目前,服务器应用程序尚未实现。但是我想通过运行客户端应用程序来测试它,并验证响应 在没有服务器的情况下,运行客户端应用程序以验证响应的不同方式有哪些?请帮帮我 谢谢。在本地创建一个小型服务器,返回接收该服务器的值。如果您正在验证来自服务器的响应,则听起来更像是在对服务器而不是客户端进行单元测试。或者像一个端到端的测试 如果您确实想要单元测试您的客户

我有一个CPP客户端应用程序。作为客户端应用程序的一部分,我将以加密格式向http服务器发送一条消息,该服务器将作为另一个服务器应用程序的一部分提供

目前,服务器应用程序尚未实现。但是我想通过运行客户端应用程序来测试它,并验证响应

在没有服务器的情况下,运行客户端应用程序以验证响应的不同方式有哪些?请帮帮我


谢谢。

在本地创建一个小型服务器,返回接收该服务器的值。

如果您正在验证来自服务器的响应,则听起来更像是在对服务器而不是客户端进行单元测试。或者像一个端到端的测试

如果您确实想要单元测试您的客户机应用程序,并且您有一个单独的类来处理通信,那么您可以模拟这个通信类并返回硬编码的响应。使用此选项测试客户端是否正确处理此响应


如果这不可能,您可以像@yumetodo建议的那样,在单独的进程或线程中运行一个模拟HTTP服务器。似乎提供了这样一个服务器。

这在很大程度上取决于您的代码,但一般来说,遵循单元测试的思想是一个好主意。现在启动TDD有点晚(虽然永远都不会太晚,您甚至可以使用旧代码进行TDD),但您应该将业务逻辑与传输层分离。然后,您可以模拟服务器(即,明确指定从该接口发送和接收的内容)并轻松测试业务逻辑。