我需要模拟一项服务。我ResponseEntity<?>在嘲笑班级时得到了空值。
需要mock的方法:
public List<Expression> getExpression(String expressView, Localdate date) {
List<Expression> =new ArrayList<>();
Map<String, Object> uri = new HashMap<>();
UriComponenetsBuilder build =
UriComponentsBuilder.fromHttpUrl("someUrl" + "/" + expressView);
build.queryParam(someParameter, someParameter);
build.queryParam(someParameter, someParameter);
build.queryParam(someParameter, someParameter);
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_JSON);
RestClient client = new RestClient(
build.build().encode.toUriString, HttpMethod.GET.Uri, header
);
ResponseEntity<?> resp = restC.SomeMethod(client);
if (resp = !null) {
//it goes to these line
}
}
Run Code Online (Sandbox Code Playgroud)
在我的模拟方法中:
when(restC.SomeMethod(client)).thenReturn(resp);
Run Code Online (Sandbox Code Playgroud)
因此,上述方法调用服务获取一些数据,获取expressView的值并将其保存为列表。当我模拟该方法时,when(restC.SomeMethod(client)).thenReturn(resp);它命中了 URL,但我得到的响应值resp是 null 。所以我在这里得到的resp值为null。我检查了邮递员中的 URL(someUrl) …