我正在尝试使用Verification of JMockit验证传递给模拟的参数。模拟似乎正在工作,但参数没有被捕获并返回null。
@Test
public void testHTTPRequestGeneration() throws IOException{
final CloseableHttpClient anyInstance = HttpClientBuilder.create().build();
new NonStrictExpectations(CloseableHttpClient.class) {
{
anyInstance.execute((HttpUriRequest)any);
result = new MockHTTPResponse();
}
};
Entity entity = new Entity();
entity.setType(Entity1);
handler.processEvent(entity);
new Verifications() {{
HttpUriRequest httpUriRequest;
anyInstance.execute(httpUriRequest = withCapture());
System.out.println("---->"+httpUriRequest);
}};
}
在上面,执行的响应被模拟得很好,我得到的返回值为“new MockHTTPResponse()”。但是验证块没有捕获它。
答案 0 :(得分:2)
尝试添加次字段以验证方法调用的次数。
new Verifications() {{
HttpUriRequest httpUriRequest;
anyInstance.execute(httpUriRequest = withCapture()); times = 1;
System.out.println("---->"+httpUriRequest);
}};