Java 如何针对损坏的服务器测试客户端实现?
我正在开发一个连接到外部服务(使用ApacheHttpComponents)的JavaHTTP客户机类。我需要确保当服务器端开始意外工作时,我的客户端实现能够以可预测的方式运行,比如突然断开连接、错误响应、不一致的头、超时等Java 如何针对损坏的服务器测试客户端实现?,java,testing,client-server,Java,Testing,Client Server,我正在开发一个连接到外部服务(使用ApacheHttpComponents)的JavaHTTP客户机类。我需要确保当服务器端开始意外工作时,我的客户端实现能够以可预测的方式运行,比如突然断开连接、错误响应、不一致的头、超时等 在运行测试时,如何可靠地模拟此类条件?我不介意连接到发生故障的远程服务器,但最好是本地工作的解决方案。我建议创建一个模拟器,它将模拟与服务器相同的行为。对其进行编码,使其能够针对相同的请求逐个发送上述响应,以便您能够测试所有响应消息。如果您知道实际服务器在所有这些条件下可以
在运行测试时,如何可靠地模拟此类条件?我不介意连接到发生故障的远程服务器,但最好是本地工作的解决方案。我建议创建一个模拟器,它将模拟与服务器相同的行为。对其进行编码,使其能够针对相同的请求逐个发送上述响应,以便您能够测试所有响应消息。如果您知道实际服务器在所有这些条件下可以发送哪些响应,那么还可以在模拟器中硬编码响应 试试Arquillian()框架。可能适合你的需要 以下是功能列表:
你就不能用一个模拟对象吗?或者在本例中是一个模拟服务器。我想这是最安全的选择,尽管这有点像重新发明轮子。但即使是硬编码的响应也可以完成这项工作,如果只需要用于测试的话。当然,我只需要针对无法用响应复制的情况的测试用例