Перемешанный метод все еще вызывает реальный метод

Я смоделировал запрос и ответ с помощью easymock, но он все еще проходит через каждую строку в методе запроса и получает исключение.

Например:

public class helper{

public String getCB(){
  Response response = serviceImpl.getDefaultMethod(request);
  return response.getString();
}

Тестовое задание:

expect(MockServiceImpl.getDefaultMethod(mockRequest)).andReturn(mockResponse);

Получая исключение, это происходит внутри getDefaultMethod(),

Я не понимаю, почему проходит код в этом методе. Кто-нибудь может мне помочь, пожалуйста!

2 ответа

AFAIK easymock не умеет имитировать вызовы статических методов.

Вы должны переместить линию

Response response = ServiceImpl.getDefaultMethod(request);

из метода и издеваться request,

Другой подход заключался в использовании PowerMock, но, по-моему, это отказ от плохого дизайна.

Если метод не является статичным и не окончательным, он должен работать.

Если это не так, это означает, что вы вызываете этот метод не в фиктивном, а в реальном экземпляре класса. Показ нам создания и инъекций поможет нам это подтвердить.

Другие вопросы по тегам