Я использую PowerMockito для насмешливого частного метода. Но вместо этого насмехается, что это называется. Мне нужно проверить странный метод(), который вызывает privateMethod().Вызывается частный метод, а не издевается
Вот мой класс для тестирования:
public class ExampleService {
public String strangeMethod() {
privateMethod();
return "Done!";
}
private String privateMethod() {
throw new UnsupportedOperationException();
}
}
Мой метод испытания:
@Test
public void strangeMethodTest() throws Exception {
ExampleService exampleService = PowerMockito.spy(new ExampleService());
PowerMockito.when(exampleService, "privateMethod").thenReturn("");
exampleService.strangeMethod();
}
В результате теста я получаю UnsupportedOperationException. Это означает, что вызывается privateMethod().
Вы уверены, что вам это нужно в первую очередь? Это кажется довольно грязным, метод приватен по какой-то причине. – Neijwiert
Попробуйте аннотировать тестовый класс с помощью '@PrepareForTest ({ExampleService .class})' и '@RunWith (PowerMockRunner.class)' – troig