【问题标题】:JMockit withCapture() returning nullJMockit withCapture() 返回 null
【发布时间】:2016-04-08 07:40:38
【问题描述】:

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

【问题讨论】:

  • @Kelum Senanayake 作品的回答。它应该被接受。

标签: unit-testing jmockit


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多