我正在使用的网络项目:
- 爪哇
- 码头
- Fitnesse tool
- 等..
我很难模拟/生成SocketTimeoutException,更多信息如下:
<小时/> 用例简化:
我们如何测试:
是一个TDD项目,所以我们有一堆UT。对于“真正的”测试,我们使用上面提到的工具。 (FitNesse的)
'问题':
我必须模拟服务器中可能出现的许多问题。为此我写了一个模拟我的WebServer的简单servlet
但对于这个用例,我需要在我的模拟器中模拟SocketTimeoutException。我想在模拟器中睡一觉,但我认为这可能导致客户端请求超时。
<小时/> 如果有人有任何想法或一个好的提示将非常好知道!
提前致谢
答案 0 :(得分:2)
我对你的问题不太清楚。你能尝试一下:
throw new SocketTimeoutException();
答案 1 :(得分:2)
以编程方式将套接字读取超时设置为1毫秒,您将始终获得java.net.SocketTimeoutException。
HTH
答案 2 :(得分:0)
如果异常是基于套接字之间的“保持活动”(可能导致套接字超时的原因),则可能必须跨两台计算机建立套接字连接,然后移除它们之间的电缆(或连接到交换机)。发生“保持活动”超时,希望你会得到一个SocketTimeoutException。
根据“保持活动”的设置(您可能可以通过套接字选项设置此项),可能需要几分钟到几小时(NT大约需要5小时才能保持活动超时,但它是可以选择的在注册表中。)
如果这没有给出预期的异常,我不确定导致超时需要什么条件。
可能会查看这些链接,看看它们是否有任何帮助。
http://www.velocityreviews.com/forums/t363525-sockettimeoutexception-read-timed-out.html
http://www.javakb.com/Uwe/Forum.aspx/java-programmer/29249/SocketTimeoutException-Read-timed-out