У меня возникла проблема с внедрением зависимостей в классе.
Класс A имел зависимость B, которая помечена @Autowired. Сам класс B помечается @ Service
В модульном тесте для A ситуация была такой:
@InjectMocks
private A a = new A();
@Mock B b
Это сработало нормально. b в модульном тесте проверяется, а в классе A зависимость B вводится правильно.
Затем я внес изменение, и теперь A имеет другую зависимость, C. C также является службой, и она также автоматически подключается в A, как и B.
В модульном тесте я сейчас делаю:
@InjectMocks
private A a = new A();
@Mock
B b;
@Mock
C c;
Но это не работает. В модульном тестовом коде c имитируется, но в A зависимость C не вводится и ее нуль.
В поиске Google я наткнулся на эту статью. Это дает решение, но я не могу понять, почему зависимость C не вводится, а B вводится.