Я пытаюсь написать тестовый класс для контроллера, у которого есть статический вызов метода.
Я использовал шаблон производителя верблюда, чтобы получить результат.
Я пробовал с Mockito, но ни один из них не работал для меня:
@RestController
@Api(consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public class TestController{
@Autowired
ProducerTemplate producerTemplate;
@ApiOperation(value = "getdata", notes = "", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping("/getData" )
public ApiResponse<Data> getData(@RequestBody DataRequest request, @RequestHeader HttpHeaders headers, HttpServletResponse response) {
return ApiUtil.makeCall(producerTemplate, "direct:getdata", request,
headers, response);
}
}
public static ApiResponse makeCall(ProducerTemplate producerTemplate, String routerName, Object request,
HttpHeaders headers, HttpServletResponse response) {
HashMap<String, Object> headersMap = null;
ApiResponse apiResponse = producerTemplate.requestBodyAndHeaders(routerName, request, headersMap, ApiResponse.class);
response.setStatus(apiResponse.getHttpCode());
return apiResponse;
}
Как я могу создать модульный тест для этого контроллера статическим методом?