繁体   English   中英

如何使用JAVA模拟GET HTTP请求

[英]How to mock GET HTTP request using JAVA

如何使用JAVA模拟GET http请求? 我有这种方法:

public HTTPResult get(String url) throws Exception{
        try {
            ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
            return new HTTPResult(response.getBody(), response.getStatusCode().value());
        }
        catch (ResourceAccessException e) {
            String responseBody = e.getCause().getMessage();
            JSONObject obj = new JSONObject(responseBody);
            return new HTTPResult(obj.getString("responseBody"), Integer.parseInt(obj.getString("statusCode")));
        }
    }

我如何验证自己正在获取:responseBody-一些json和statusCode例如200?

如果要“真正的”单元测试,则必须研究使用诸如EasyMock或Mockito之类的模拟框架(我建议使用后者)。 可能需要重新编写生产代码,因为对new()调用经常使这些框架出现问题(那里还有其他更好的框架:JMockit或PowerMockito,但还是这样:如果可能的话,请与Mockito一起使用)。

如果您想进行更多的“端到端”测试:有Jersey的测试框架(例如,请参见此处 )。 含义:实际上,您几乎可以完全“单元测试”您的REST端点,而无需运行真实的服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM