Как я могу издеваться над HttpClient4, который реализует net.oauth.http.HttpClient? - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть эти две строки кода.Я пытаюсь смоделировать эти объекты и методы, но intellij и powermock это не нравится.

Фрагмент кода:

final HttpClient httpClient = new HttpClient4();
OAuthClient oAuthClient = new OAuthClient(httpClient);

Фрагмент PowerMock Junit:

class Test {
  @Mock
  private HttpClient httpClientMock;
  @Mock
  private OAuthClient oAuthClientMock;
  @Before
  public void setUp() throws Exception {
   whenNew(HttpClient4.class).withNoArguments().thenReturn((HttpClient4) httpClientMock);
 whenNew(OAuthClient.class).withArguments(httpClientMock).thenReturn(oAuthClientMock);
   }
}

Ошибка:

java.lang.ClassCastException: 
net.oauth.http.HttpClient$$EnhancerByMockitoWithCGLIB$$63820671 cannot be cast to net.oauth.client.httpclient4.HttpClient4

Если я не приведу httpClientMock к HttpClient4, я получу эту ошибку.Ошибка:

Cannot resolve method 'thenReturn(net.oauth.http.HttpClient)'

Не уверен, какие еще методы я могу использовать для этого.

...