Можно ли протестировать контроллеры Spring REST без @DirtiesContext? ⇐ JAVA
Можно ли протестировать контроллеры Spring REST без @DirtiesContext?
Я работаю над веб-приложением Spring-Boot. Обычный способ написания интеграционных тестов:
@Test @Транзакционный @Rollback(правда) общественный недействительный myTest() { // ... } Это прекрасно работает, пока работает только один поток. @Rollback не может работать, если имеется несколько потоков.
Однако при тестировании класса @RestController с использованием шаблонов Spring REST всегда существует несколько потоков (по замыслу):
[*]тестовый поток, который действует как клиент и запускает шаблон REST [*]поток сервера, который получает и обрабатывает запрос
Поэтому вы не можете использовать @Rollback в тесте REST. Вопрос в следующем: что вы используете вместо этого, чтобы сделать тесты повторяемыми и хорошо работать в наборе тестов?
@DirtiesContext работает, но это плохой вариант, поскольку перезапуск контекста приложения Spring после каждого метода тестирования REST делает выполнение пакета очень медленным; выполнение каждого теста занимает пару миллисекунд, но перезапуск контекста занимает несколько секунд.
Я работаю над веб-приложением Spring-Boot. Обычный способ написания интеграционных тестов:
@Test @Транзакционный @Rollback(правда) общественный недействительный myTest() { // ... } Это прекрасно работает, пока работает только один поток. @Rollback не может работать, если имеется несколько потоков.
Однако при тестировании класса @RestController с использованием шаблонов Spring REST всегда существует несколько потоков (по замыслу):
[*]тестовый поток, который действует как клиент и запускает шаблон REST [*]поток сервера, который получает и обрабатывает запрос
Поэтому вы не можете использовать @Rollback в тесте REST. Вопрос в следующем: что вы используете вместо этого, чтобы сделать тесты повторяемыми и хорошо работать в наборе тестов?
@DirtiesContext работает, но это плохой вариант, поскольку перезапуск контекста приложения Spring после каждого метода тестирования REST делает выполнение пакета очень медленным; выполнение каждого теста занимает пару миллисекунд, но перезапуск контекста занимает несколько секунд.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Новые контроллеры не распознаются в проекте Spring Web Flow с использованием Gradle
Anonymous » » в форуме JAVA - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как пройти аутентификацию для FCM Rest API с помощью Google REST API в PHP REST API?
Anonymous » » в форуме Php - 0 Ответы
- 162 Просмотры
-
Последнее сообщение Anonymous
-