【发布时间】:2019-10-25 11:19:44
【问题描述】:
我正在尝试为具有静态方法调用的控制器编写测试类。 我已经使用骆驼生产者模板来获得结果。
我尝试过使用 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;
}
如何使用静态方法为此控制器创建单元测试用例?
【问题讨论】:
标签: unit-testing spring-boot junit mockito static-classes