Как внедрить реальные объекты с помощью аннотации InjectMocks - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть сценарий, в котором есть два свойства в классе, где одно свойство в вещественном, а другое имитирует, как внедрить оба свойства в объект.

Например.

    @RunWith(MockitoJUnitRunner.class)
    public class SampleTest extends ExchangeTestSupport {

        @InjectMocks
        private SampleTest sampleTest ;

        private SampleProperties properties;
        @Mock
        private SampleProvider provider;
}

В приведенном выше коде свойства реальны, а провайдер является ложным и должен внедрить оба объекта sampleTest.

1 Ответ

0 голосов
/ 16 декабря 2018

Добавить @ Spy для добавления реального объекта

 @Spy
 private SampleProperties properties;

Поле, помеченное @Spy, может быть явно инициализировано в точке объявления.В качестве альтернативы, если вы не предоставите экземпляр, Mockito попытается найти конструктор с нулевым аргументом (даже частный) и создаст для вас экземпляр.

Если вы используете контекст Spring, также добавьте @Autowiredаннотаций

...