如何使用JAVA模拟获取HTTP请求
如何使用JAVA模拟获取http请求? 我有这个方法:如何使用JAVA模拟获取HTTP请求,java,rest,mockito,Java,Rest,Mockito,如何使用JAVA模拟获取http请求? 我有这个方法: public HTTPResult get(String url) throws Exception{ try { ResponseEntity<String> response = restTemplate.getForEntity(url, String.class); return new HTTPResult(response.getBody(), resp
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端点,而无需运行真正的服务器。您看过MockMvc吗?我注意到您还没有接受任何答案。请考虑在某个时候做这件事。如果您还有其他问题,请告诉我。