socket超时的java junit测试用例
我有一个支持一些出站web服务的应用程序。我是 使用HttpClient,我需要添加一个服务超时,因为 我访问的外部URL需要很长时间才能响应(有时)。 我正在尝试添加几个junit测试用例,以确保超时正常 正确地我有类似这样的东西,其中指定的超时值是 只比配置的socket超时多一点-
@Test (timeout=6000)
public void testTimeOut() {
notifier.performGetonUrl(getTestUrl());
}
我觉得这不是个好主意。有没有更好的测试我可以使用
# 1 楼答案
如果你想为你的代码编写一个真正的隔离单元测试,那么我同意你的测试是不合适的。如果您希望编写更多的集成测试,那么您的方法就可以了
对于我的隔离JUnit,我创建它们,以便它们只测试被测试的类。我使用EasyMock模拟所有协作类。所以在本例中,我将为httpClient创建一个模拟。我会在模拟抛出异常的地方设置一个测试,然后断言被测试的类会按预期处理异常。下面的代码片段可能会让你明白我的意思
上面假设被测类中的方法抛出异常。如果捕获到异常,那么您将以不同的方式编写上述内容