JMockit withCapture()返回null

时间:2016-04-08 07:40:39

标签: unit-testing jmockit

我正在尝试使用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()”。但是验证块没有捕获它。

1 个答案:

答案 0 :(得分:2)

尝试添加字段以验证方法调用的次数。

   new Verifications() {{
        HttpUriRequest httpUriRequest;
        anyInstance.execute(httpUriRequest = withCapture()); times = 1;
        System.out.println("---->"+httpUriRequest);
    }};
相关问题