Сценарий выглядит следующим образом.
У меня есть контроллер, который я хочу проверить, который зависит от одного сервиса, внедренного через конструктор. Самостоятельно внедренный сервис зависит от другого сервиса, внедренного через его конструктор. Во время выполнения автоматическая инъекция создает сервисы и внедряет их по назначению.
Проблема в том, что при тестировании контроллера в модульном тесте я не могу просто посмеяться над сервисом, от которого контроллер напрямую зависит, по какой-то причине autowire пытается создать всю цепочку, если я не предоставлю имитацию для всех зависимостей.
Я бы ожидал, что если бы в моем тесте был @MockBean для всех прямых зависимостей контроллера, этого было бы достаточно, но, похоже, этого не было дело. Тест должен обеспечить макеты для каждой зависимости в графе.
Это не большая проблема в этом простом случае, но становится очень проблематичной c, когда в зависимости находятся десятки сервисов и компонентов. graph.
Как заставить autowire и WebMvcTest остановиться на верхнем уровне графика, когда все прямые зависимости проверяются?