[英]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.