Junit: внедрение зависимости - PullRequest
0 голосов
/ 17 апреля 2019

У меня возникла проблема с внедрением зависимостей в классе.

Класс 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 вводится.

...