Как запустить джет-сервер для тестирования java-джунтов
Я пытаюсь написать интеграционный тест для локального раскрутки сервера Jetty, а затем использовать клиент для связи с остальными URI и вызова бизнес-логики в нисходящем направлении. Однако, когда я запускаю свой джет-сервер, он не отказывается от управления, поэтому мой клиент не выполняется. Таким образом, я использовал многопоточность, чтобы запустить мой причал в другом потоке, однако, поток завершается до того, как мой клиентский вызов сообщает, что соединение отказано. Любой подход я могу взять?
@Test
public void testPerform() {
final JettyServer jettyServer = JettyServer.create();
jettyServer.buildJettyServer(ServletContextHandler.SESSIONS, "/", 8080, TestResource.class);
Runnable runnable = new Runnable()
{
@Override
public void run()
{
jettyServer.start();
}
};
new Thread(runnable).start();
final javax.ws.rs.client.Client client = ClientBuilder.newClient();
final Response response = client.target("http://localhost:8080/test").request().post(Entity.text(""));
jettyServer.stop();
}