我是 Java 新手,一直在寻找答案,但我一定想念它。那么问题来了:
这是我的控制器:
public REntity<IModel> getPersonById(
@PathVariable("id") @Parameter(description = "The id to retrieve") String id) {
IModel response = this.myService.getPersonById(id);
if (response != null) {
return REntity.ok().body(response);
}
else {
return REntity.notFound().build();
}
}
测试方法内容:
mockMvc.perform(get("/issuers/{id}", "123")).andExpect(status().is(404));
如何调用 else 块?我无法将 null 传递给 id 参数。该服务也不返回 null。 是否有调用服务时返回 null 的模拟?
您将需要创建一个服务的模拟,对于给定的 id 返回 null:
final MyService myService = mock(MyService.class);
when(myService.getPersonById("123").thenReturn(null);