0

我正在开发一个连接到外部服务的 Java HTTP 客户端类(使用 Apache HttpComponents)。我需要确保我的客户端实现在服务器端意外开始工作时保持可预测的行为,例如突然断开连接、格式错误的响应、不一致的标头、超时等情况。

运行测试时如何可靠地模拟这种情况?我不介意连接到有故障的远程服务器,但在本地工作的解决方案会更好。

4

3 回答 3

1
  1. 您可以使用 java Socket 和 ServerSocket 类来模拟服务器行为,但我认为编写代码太乏味了。
  2. 你可以使用一些成熟的框架,比如 apache mina 框架请参考http://mina.apache.org/
  3. 您可以配置 apache http 服务器以使您的客户端访问不同的美德目录。apache http 服务器能够根据您的 URL 路径响应不同的 http 代码。
  4. 您可以安装简单的 apache tomcat servlet 容器并编写一些 JSP。在这些 JSP 中,您可以定义 response.setHeader 或其他一些 http 响应代码。
于 2013-06-04T11:40:37.987 回答
0

试试 Arquillian ( http://arquillian.org/ ) 框架。可能适合您的需求。

这是功能列表:http ://arquillian.org/features/

于 2013-06-04T11:39:57.983 回答
0

我建议创建一个模拟器,它将模拟与您的服务器相同的行为。以这样一种方式对其进行编码,以便它将针对同一请求一一发送上述响应,以便您能够测试所有响应消息。如果您知道实际服务器可以针对所有这些条件发送哪些响应,您还可以在模拟器中对响应进行硬编码。

于 2013-06-04T11:37:20.817 回答