169 похожих чатов

В проекте на спринге понадобилось подредачить тесты, и столкнулся с

интересной проблемой

делаю тест маппера мапстракта
если делать с контекстом спринга и MockBean, то падают все остальные тесты, которые эти же бины автовайрят и не ждут там моков
и DirtiesContext не помогает

попытался сделать на голом мокито, через Mock и InjectMocks с MockitoExtension
начали падать другие тесты с моками, никак не связанные с тем, что редактирую, по ошибке несоответствия аргументов в стабе

в чем может быть проблема? Со спрингом еще понятно, но почему с мокито другие тест классы затрагиваются?

7 ответов

11 просмотров
Александр-Ушаков Автор вопроса

@Baneslayer55 @bukkaa может вы подскажете

Александр-Ушаков Автор вопроса

попробовал со SpyBean, чтобы на другие классы не влияло все равно те же самые тесты падают)

Александр Ушаков
попробовал со SpyBean, чтобы на другие классы не в...

Spy/MockBean все равно на другие классы влиять будут. Если у тебя контекст, кешируемый, в одном месте инициализируется, то темболее. Почему Mock/InjectMocks попадали с несоответствием аргументов, не очень понял описание проблемы. inline mockmaker?

Daniiλ Shreyder
Spy/MockBean все равно на другие классы влиять буд...

вообще, не очень понимаю value мокать мапперы, если можно красивенько взять @Spy Mapper mapper = new MapperImpl(); но это на вкус и цвет.

Александр-Ушаков Автор вопроса
Daniiλ Shreyder
Spy/MockBean все равно на другие классы влиять буд...

я думал, что при наличии DirtiesContext влияния на другие классы не будет. Но нет с голым мокито суть в том, что при его использовании (MockitoExtension + Mock + InjectMocks) начинают падать другие классы с тестами. При этом, если в моем классе этого нет, то не падают. То есть, как в случае с MockBean и спринговым контекстом, только ошибка другая и падают другие классы мокито апгрейдить нельзя, версия 4.0.0

Тестируй значит сам маппер, а не того, кто его использует

Александр-Ушаков Автор вопроса
Daniiλ Shreyder
Тестируй значит сам маппер, а не того, кто его исп...

есть тест маппера. Самого маппера. Надо протестить метод AfterMapping, в котором вызов сервиса, который идет в сеть. Это надо замокать пробовал три варианта 1. SpringBootTest + DirtiesContext + MockBean + Autowired. Маппер автовайрится, его зависимости помечены как мокбины. Ошибка в 78 других файлов тестов. Ошибка в основном InvalidDataAccessResourceUsage 2. SpringBootTest + DirtiesContext + SpyBean + Autowired. Маппер автовайрится, его зависимости помечены как спайбины. Ошибка в 78 других файлов тестов (тех же, что в п1). Ошибка в основном InvalidDataAccessResourceUsage 3. Голый мокито тест, MockitoExtension + Mock + InjectMocs. Маппер помечен инжектмокс, его зависимости как моки. Падает 6 тестов в других файлах. Ошибка в основном про несоответствие аргументов стаббинга в них в их моках при этом, если не тестировать этот метод, то есть убрать и мокбины, и спайбины, и голые моки, то есть не идти ни по одному из вышеописанных путей, то другие тесты не падают. Вообще. То есть ошибок в них нет, именно описанное выше ломает их (другие файлы)

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
I just installed it but how do I use it?
Talula
12
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Good afternoon, I just started learning php in conjunction with mysql. I am registering a system on a local Mamp server using phpMyAdmin. It seems to be stored normally in the...
ManGo
1
я не про это. какая еще есть инфа, или может появиться, что ее можно обозначить названием данной игры? зачем плодить хештеги, которые обозначают одну сущность? в данном случ...
Aiwan \ (•◡•) / _bot
5
Карта сайта