Size: a a a

Spring Framework and more

2020 June 22

M

Max in Spring Framework and more
Ruslan Stelmachenko
@DataJpaTest поднимает минимум бинов в контексте. Только те. которые по его мнению связаны с БД. В основном это репозитории. Остальных бинов в контексте не будет. Чтобы они там появились, можно нужные вам бины/конфиги через @Import (добавленный над тестовым классом) подключить.
Я правильно понимаю, если через @Import добавить бин сервиса - внутри репозиторий (через @Autowired) тоже подхватится?
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Да
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Но если у бина-сервиса есть и другие зависимости (кроме репозитория), то их тоже надо добавить. Всю цепочку.
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Поэтому я предпочитаю в сложных случаях просто использовать @SpringBootTest (пускай весь контекст поднимается) +  @AutoConfigureTestDatabase (это тоже описано в жавадоках от @DataJpaTest, кстати).
источник

M

Max in Spring Framework and more
Ruslan Stelmachenko
Да
Работает, спасибо большое)
источник

АВ

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

Ю

Юрий in Spring Framework and more
Aleksander Lemyagov
сделать свою dependency (maven e.t.c.) и подключать к сервисам?
Кстати как вариант )
источник

Ю

Юрий in Spring Framework and more
Неплохое решение
источник

C

Captcha bot in Spring Framework and more
Anand Vaval, код неверный, обратись к админу.
источник

✔D

✔️Alexey Draznin in Spring Framework and more
Алексей Васин
Всем привет) а кому нибудь удавалось настроить джагер, чтобы он трейсил реквесты которые через фейн клиент уходят в другой микросервис?)
Привет, в опен трейсе есть своя обертка на фейн/окхттп
источник

АВ

Алексей Васин... in Spring Framework and more
Да вроде как я понял и без этой обертки он норм трейсить должен
источник

M

Max in Spring Framework and more
Нарисовался новый вопрос.
Есть WebMvcTest для теста контроллеров, сервис подключается через MockBean. Мокаю вызовы к сервису используя BDDMockito.given(...).willReturn(...).

В одном из тестов вызывается очередной метод сервиса, в котором вызывается еще один метод этого же сервиса. Мокаю оба метода через given + willReturn, но всё равно возвращает не то значение (метод возвращает boolean, нужен true).

Может ли быть проблема во вложенном вызове? Из предположений только что Mockito не мокает вложенные вызовы.
источник

M

Max in Spring Framework and more
источник

M

Max in Spring Framework and more
источник

M

Max in Spring Framework and more
источник

IS

Ivan Shirokov in Spring Framework and more
Если я правильно понял, то надо мокнуть только updateItem и проверить совпадают ли объекты в методе given и в реальном вызове
источник

IS

Ivan Shirokov in Spring Framework and more
Те же именно объекты? Номера совпадают?
источник

M

Max in Spring Framework and more
Написал тест для метода deleteItem со схожей логикой (проверка на наличие по ID -> действие) - выполнился без ошибок. Странно
источник

M

Max in Spring Framework and more
источник

M

Max in Spring Framework and more
Ivan Shirokov
Те же именно объекты? Номера совпадают?
Один и тот же ID передан и в given, и в запрос к контроллеру, если вы про это
источник