Вы используете @InjectMocks, который создает экземпляр класса и внедряет макеты, созданные с помощью @Mock
или @Spy
. Но School
не является ни издевательством, ни шпионом. Поэтому я удивлен, что ваш код не выдает никаких исключений, когда вы вызываете when()
.
Вы можете добиться того, что пытаетесь сделать, сделав Школу шпионом. Это позволит вызывать базовые методы, если они не являются заглушками.
School school = Mockito.spy(new School());
Однако я думаю, что вы действительно должны изменить способ тестирования своего кода или абстрагировать некоторые реализации, потому что вам не нужно издеваться над шпионским классом, который вы тестируете.