【发布时间】:2021-08-20 14:45:13
【问题描述】:
我用 @ResponseStatus 注释
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public void create(@RequestBody @Valid RestaurantCreationDTO restaurantCreationDTO,
BindingResult bindingResult) {
if(bindingResult.hasErrors()) {
throwExceptionIfBindingResultHasErrors(bindingResult);
}
restaurantService.create(restaurantCreationDTO);
}
但是我怎样才能用 mockito 测试这个方法呢?我想测试它是否返回 HttpStatus.CREATED。
【问题讨论】:
-
它是静态的 - 硬编码 - 用 Mockito 测试它会很愚蠢。
-
如果您根据资源创建的成功程度在 return 语句中以某种方式返回 http 状态,您将能够通过 Mockito 进行测试。根据您当前的代码剪断,它似乎几乎是多余的。
-
@vaibhavsahu 所以我能做的最好的就是测试服务是否被调用?
-
@KlausKöhler 是的,你可以使用 Mockito.verify(mockObject, times(1)).someMethod("was just called one time");