интересной проблемой
делаю тест маппера мапстракта
если делать с контекстом спринга и MockBean, то падают все остальные тесты, которые эти же бины автовайрят и не ждут там моков
и DirtiesContext не помогает
попытался сделать на голом мокито, через Mock и InjectMocks с MockitoExtension
начали падать другие тесты с моками, никак не связанные с тем, что редактирую, по ошибке несоответствия аргументов в стабе
в чем может быть проблема? Со спрингом еще понятно, но почему с мокито другие тест классы затрагиваются?
@Baneslayer55 @bukkaa может вы подскажете
попробовал со SpyBean, чтобы на другие классы не влияло все равно те же самые тесты падают)
Spy/MockBean все равно на другие классы влиять будут. Если у тебя контекст, кешируемый, в одном месте инициализируется, то темболее. Почему Mock/InjectMocks попадали с несоответствием аргументов, не очень понял описание проблемы. inline mockmaker?
вообще, не очень понимаю value мокать мапперы, если можно красивенько взять @Spy Mapper mapper = new MapperImpl(); но это на вкус и цвет.
я думал, что при наличии DirtiesContext влияния на другие классы не будет. Но нет с голым мокито суть в том, что при его использовании (MockitoExtension + Mock + InjectMocks) начинают падать другие классы с тестами. При этом, если в моем классе этого нет, то не падают. То есть, как в случае с MockBean и спринговым контекстом, только ошибка другая и падают другие классы мокито апгрейдить нельзя, версия 4.0.0
Тестируй значит сам маппер, а не того, кто его использует
есть тест маппера. Самого маппера. Надо протестить метод AfterMapping, в котором вызов сервиса, который идет в сеть. Это надо замокать пробовал три варианта 1. SpringBootTest + DirtiesContext + MockBean + Autowired. Маппер автовайрится, его зависимости помечены как мокбины. Ошибка в 78 других файлов тестов. Ошибка в основном InvalidDataAccessResourceUsage 2. SpringBootTest + DirtiesContext + SpyBean + Autowired. Маппер автовайрится, его зависимости помечены как спайбины. Ошибка в 78 других файлов тестов (тех же, что в п1). Ошибка в основном InvalidDataAccessResourceUsage 3. Голый мокито тест, MockitoExtension + Mock + InjectMocs. Маппер помечен инжектмокс, его зависимости как моки. Падает 6 тестов в других файлах. Ошибка в основном про несоответствие аргументов стаббинга в них в их моках при этом, если не тестировать этот метод, то есть убрать и мокбины, и спайбины, и голые моки, то есть не идти ни по одному из вышеописанных путей, то другие тесты не падают. Вообще. То есть ошибок в них нет, именно описанное выше ломает их (другие файлы)
Обсуждают сегодня