【发布时间】:2015-05-15 15:00:24
【问题描述】:
我有这个测试用例:
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();
}
}
客户
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);
}
}
当我运行它时,我得到了这个错误:
Unexpected method call HttpUriRequest.getURI()
创建的通常不会调用这个方法。
为什么会出现此错误?为什么需要我为getURI 方法定义结果?
【问题讨论】:
标签: java unit-testing easymock