I have this test case:
TestClient
@RunWith(EasyMockRunner.class)
public class TestClient extends EasyMockSupport {
@TestSubject
private final IClient client = new Client();
@Mock
private HttpClient httpClient;
@Mock
private HttpUriRequest request;
@Mock
private HttpResponse response;
@Test
public void testExecute() throws ClientProtocolException, IOException {
expect(httpClient.execute(request)).andReturn(response);
replayAll();
httpClient.execute(request);
client.execute(request);
verifyAll();
}
}
Client
public class Client implements IClient {
private final HttpClient httpClient;
public Client() {
httpClient = createDefaultClient();
}
private HttpClient createDefaultClient() {
return HttpClientBuilder.create()
.build();
}
@Override
public HttpResponse execute(final HttpUriRequest request)
throws IOException {
return httpClient.execute(request);
}
}
When I run it I get this error:
Unexpected method call HttpUriRequest.getURI()
Normally the created will not call this method.
Why I get this error? Why it require me to define a result for getURI
method?