У меня есть сервис, который подключается к сокету. Я хочу создать интеграционный тест, который тестирует java.net.SocketTimeoutException
.
. Поскольку не нужно издеваться над деталями, я просто хочу запустить локальный сервер сокетов во время теста junit
и отправить запросы на этот локальный сервер. socket.
@BeforeClass
public void beforeClass(){
ServerSocket serverSocket = new ServerSocket(12345, 0, InetAddress.getByName(null));
new Runnable() {
@Override
public void run() {
try {
serverSocket.accept();
} catch (IOException e) {
e.printStackTrace();
}
}
}.run();
}
@Test
public void testSocket() {
myservice.send();
}
Проблема: код выше блокирует, когда я подключаюсь к этому тестовому сокету. Как я могу здесь симулировать SocketTimeoutException
, а не блокировать выполнение теста?