我编写了java应用程序,它与遗留系统建立套接字连接。
如何模拟连接失败(例如套接字连接超时,读取超时,网络故障),以便我可以根据异常跟踪添加必要的代码?
答案 0 :(得分:1)
您是否想要触发实际故障或测试代码在不同情况下的工作情况?
如果是后者,我会创建一个简单的模拟服务器,如果这不实用,我会创建一个代理服务器。关闭出站或传入连接,或停止在某一点发送数据。此时,您可以按预期测试代码的行为。
答案 1 :(得分:1)
使用模拟框架,如Mockito或EasyMock,模拟Socket对象。
查看Javadoc for Socket并使你的模拟对象在某些时候失败,并在单元测试中抛出它的异常。