Size: a a a

Spring Framework and more

2020 May 04

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
в этом то и загвоздка, я переспрашивал: "может это фунциональные тесты?"
но нет "'это интеграционные тесты, которые будут запрашивать данные через REST API."
😄 Ну так вы уточните, что от вас требуется более конкретно, раз у вас разная терминалогия?)
источник

VG

Vladislav Gerasimov in Spring Framework and more
Yury Golikov
Обычно как делают, если у вас только база по сути. Просто удаляют базу и накатывают миграции между тестами. В тестах просто  пуляете http запросы и проверяете свои контракты апи.
Ну что-то вроде DirtyContext в DataJpaTest.
Если каждый раз стирать бд и накатывать миграции
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Yury Golikov
😄 Ну так вы уточните, что от вас требуется более конкретно, раз у вас разная терминалогия?)
я уточнил -  интеграционные тесты между слоями
источник

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
я уточнил -  интеграционные тесты между слоями
Между каждым?) Типа спринг контроллеры тестить отдельно?)
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Yury Golikov
Между каждым?) Типа спринг контроллеры тестить отдельно?)
Почему бы и нет, раз рестапи надо использовать
источник

ЮЮ

Юрий Юрий in Spring Framework and more
а между каждыми слоями наверное слишком много придется делать
источник

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
Почему бы и нет, раз рестапи надо использовать
Ну раз у вас такая задача, то пожалуйста. Но я не вижу в этом смысла. Разве что у вас много логики в контроллерах.
Туториалова по тестам сприговских контроллеров - куча в инете
https://www.baeldung.com/integration-testing-in-spring
источник

YG

Yury Golikov in Spring Framework and more
Я предпочитаю юнит тесты и функциональные. Всю эту еболистику настраивать, куча моков, специальная магия еще и для тестов - нет спасибо, у меня нет столько времени
источник

YG

Yury Golikov in Spring Framework and more
Vladislav Gerasimov
Ну что-то вроде DirtyContext в DataJpaTest.
Если каждый раз стирать бд и накатывать миграции
Сработает, только если все делать через эту абстракцию.
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Yury Golikov
Ну раз у вас такая задача, то пожалуйста. Но я не вижу в этом смысла. Разве что у вас много логики в контроллерах.
Туториалова по тестам сприговских контроллеров - куча в инете
https://www.baeldung.com/integration-testing-in-spring
то есть юзать MockMvc, судя по ссылке?
источник

YG

Yury Golikov in Spring Framework and more
Vladislav Gerasimov
Ну что-то вроде DirtyContext в DataJpaTest.
Если каждый раз стирать бд и накатывать миграции
Хотя не буду утвреждать уже забыл как эта штука работает.
источник

VG

Vladislav Gerasimov in Spring Framework and more
Ага, я тоже. Но если в функциональных тестах стирать бд и миграциями снова поднимать, то очень долго будет, нет?
источник

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
то есть юзать MockMvc, судя по ссылке?
источник

YG

Yury Golikov in Spring Framework and more
Vladislav Gerasimov
Ага, я тоже. Но если в функциональных тестах стирать бд и миграциями снова поднимать, то очень долго будет, нет?
Ну это же функциональные тесты. Ну нужно всегда все запускать. Главное перед деплоем все запустить.
источник

VG

Vladislav Gerasimov in Spring Framework and more
Ну или сделать слепок DDL текущей версии бд и ее только использовать при, чтобы всю историю не накатывать же
источник

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
то есть юзать MockMvc, судя по ссылке?
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Я всегда думал что mockMvc заточен под функциональные тесты...
источник

VG

Vladislav Gerasimov in Spring Framework and more
Да не, там мок на сервис сделать, и можно только контроллер проверять
источник

ЮЮ

Юрий Юрий in Spring Framework and more
Vladislav Gerasimov
Да не, там мок на сервис сделать, и можно только контроллер проверять
Да, уже заметил в примере
@MockBean
private GreetingService service;
источник

YG

Yury Golikov in Spring Framework and more
Юрий Юрий
Да, уже заметил в примере
@MockBean
private GreetingService service;
А вы писали раньше интеграционные тесты?
И ради интереса, кто поставил вам такую задачу?
источник