2015-03-04 3 views
0

Я вставляю регистратор (slf4j logger) в класс и используя это в своем методе, для которого я написал тесты junit.@Inject не работает во время работы тестов junit

например

class A{ 

    @Inject 
    Logger logger; 


    public void methodA(){ 
    this.logger.info("helo logs"); 
    return true; 
    } 
} 

теперь в тестах JUnit Я использую Mockito

@InjectMocks 
A obj; 

public void testmethod(){ 
    boolean res = obj.methodA(); 
    Assert.assertEquals(true,res); 
} 

Это просто пример, это присутствует в проекте Maven. Теперь, когда я делаю чистую установку в maven, все тесты junit запускаются, и я получаю исключение нулевого указателя, поскольку регистратор не вводится.

Пожалуйста, расскажите, что можно сделать ??

+0

whn Я комментирую все мои инструкции logger, тогда ther не является ошибкой при отключении или запуске. однако, я вставляю регистраторы, и когда junit работает, я получаю нулевой указатель – user3543782

ответ

0

положить следующий код перед тем @InjectMocks

@Mock 
Logger logger; 

@Inject работает только с весной или другим Bean контейнерами. Mockito вводит только @Mocks, определенный в вашем тестовом классе.

Смежные вопросы