У меня есть класс, который содержит метод, который я хочу проверить. Вот класс.
class classOne {
private static boolean doneThis = false;
methodOne() {
CloseableHttpResponse response = SomeClass.postData(paramOne, paramTwo);
log.info("res - {}", response.getStatusLine().getStatusCode());
doneThis = true;
}
}
Теперь я хочу смоделировать часть response.getStatusLine (). GetStatusCode (), используя PowerMockito.
Как я могу добиться этого? Это то, что я сделал, но это (2-я строка ниже) получает исключение NullPointerException.
CloseableHttpResponse response = PowerMockito.mock(CloseableHttpResponse.class);
PowerMockito.when(response.getStatusLine().getStatusCode()).thenReturn(200);
Вот как я издеваюсь над Someclass.postData ->
PowerMockito.mockStatic(SomeClass.class);
ParamOne paramOne = new ParamOne(..);
// same for paramTwo
PowerMockito.when(SomeClass.postData(paramOne,paramTwo)).thenReturn(response);
Обновлено code:
CloseableHttpResponse response = PowerMockito.mock(CloseableHttpResponse.class);
StatusLine statusLine = PowerMockito.mock(StatusLine.class);
PowerMockito.when(response.getStatusLine()).thenReturn(statusLine);
PowerMockito.when(statusLine.getStatusCode()).thenReturn(200);
Проблема в том, что mocked getStatusCode () возвращает ожидаемое значение в методе Test, но в случае реального класса строки рядом с ним не покрываются, т. е. тест не проходит в этот момент. Обход