2015-05-27 3 views
0

Это мой фрагмент кода:powerMock не бросает исключение, он фактически переходит в метод

PowerMockito 
      .doThrow(new Exception()) 
      .when((spy), 
        method(Mocked.class, "privateMethod", MyParameter.class)) 
      .withArguments(parameter); 

actualObject.publicMethod(); 

Вот, у меня есть открытый метод, который вызывает privateMethod. У меня есть Передразнивал класс, который я объявленный как:

@InjectMocks 
    Mocked mocked; 

Но поступая так, Mockito не бросать никаких исключений, когда он попадет в издевалси класса, и когда частный метод встречается не исключения.

В when(), всегда должен быть объект-шпион, но проблема здесь в JUnit фактически запускает закрытый метод, который я не хочу. Мне нужно просто генерировать исключение всякий раз, когда этот частный метод вызывается, поэтому я могу охватить все блоки catch (чего не происходит).

+0

Вы попробовали аннотацию @RunWith (PowerMockRunner.class) на уровне класса тестового примера. –

+0

да я пробовал с этим, но ничего не работает :-( – user3543782

+0

Какой тип «параметр»? –

ответ

0

Добавить @PrepareForTest для класса.

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