Я пытаюсь получить доступ к H2-Console во время WebIntegrationTest в режиме отладки. Тем не менее, я заметил, что Spring Boot блокирует H2-консоль, когда я отлаживаю тест. Кажется, как только достигается точка останова, также заблокирована консоль H2. Я работаю с Spring Boot 1.3.1.RELEASE.Spring Boot блокирует H2-консоль в режиме отладки
Каждая точка останова в следующем тесте вызывает блокировку H2-консоли. В точке останова 1 появляется страница входа в систему. Затем я нажимаю кнопку входа в систему, но ничего не происходит до тех пор, пока я не продолжу проверку следующей точки останова. В точке останова 2 я вошел в систему и могу выполнить запрос. Но только когда я перехожу к следующей точке останова, появляются результаты запроса.
@Test
public void whenGetById_thenCorrectId() throws InterruptedException {
// do some stuff
// breakpoint 1
Thread.sleep(1000);
// breakpoint 2
Thread.sleep(1000);
// breakpoint 3
}
WebIntegrationTest ист сконфигурирован следующим образом:
@ActiveProfiles("local,unittest")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyApplication.class)
@WebIntegrationTest({"spring.h2.console.enabled=true", "server.port=8080"})
public class MyResourceTest {
Как можно отделить DB Н2-в-памяти из режима отладки?
Ну, что вы, по сути сделать с точки останова, чтобы остановить приложение, пока вы не будете продолжать бег вручную. Таким образом, нет возможности обойти это, если не использовать точки останова. Вы можете использовать один из других методов хранения для H2 (например, используя файловый или серверный режим), а затем подключить к нему отдельный экземпляр веб-консоли. – dunni
Похоже, у вас есть точка останова, настроенная на приостановку всего JVM, а не только на один поток. –
@ René Winkler Посмотрите этот ответ: http://stackoverflow.com/questions/12390116/access-to-h2-web-console-while-running-junit-test-in-a-spring-application –