Unitils @InjectInto - Как это обрабатывается? - PullRequest
0 голосов
/ 18 ноября 2011

Может ли кто-нибудь поделиться со мной тем, как обрабатываются аннотации Unitils @InjectInto или @InjectIntoByType?

Я проверил UnitilsJUnit4.class, который требуется для обработки этой аннотации.Это, в свою очередь, требует UnitilsJUnit4TestClassRunner.class, который расширяет JUnit4ClassRunner.AFAIK, UnitilsJUnit4TestClassRunner не имеет никакой реализации того, как Unitils обрабатывает аннотацию @ InjectInto.

Основная идея этого вопроса - эта аннотация не поддерживает внедрение макетов Mockito.Я просто хочу проверить, возможно ли добавить некоторую реализацию, которая может это сделать.Если есть какое-либо другое прямое решение, которое интегрирует Mockito с Unitils, даже это приветствуется.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Обрабатывается в модуле Injection (см. org.unitils.inject.InjectModule и классы внутри org.unitils.inject.util пакета).К сожалению, я не могу дать вам конкретный ответ.Для получения дополнительной информации вы должны отладить или дождаться дополнительных ответов;)

0 голосов
/ 18 ноября 2011

Да, Unitils не поддерживает Mockito. Однако Mockito поставляется с удобными аннотациями утилит для инъекций.

Вы можете написать в своем тесте JUnit что-то вроде этого:

@RunWith(MockitoJUnitRunner.class)
class MessageEchoerTest {
    @Mock Message message;
    @InjectMocks MessageEchoer messageEchoer;
}

Обратите внимание, что он работает только с mockito издевательствами или шпионами.

...