【发布时间】:2020-06-17 23:30:45
【问题描述】:
我在这个测试中遇到 404 错误,我想弄清楚为什么它给我这个错误,有人可以帮我吗
这是我的控制器:
@PostMapping("/infoUtile/add/{idUser}")
public InformationUtile addOrEditProcedure(@PathVariable(value = "idUser") Long id){
User user = this.userService.getUser(id);
InformationUtile info = new InformationUtile();
info.setUser(user);
return this.infoUtileService.addOrEditInfoUtile(info);
}
这是我写的测试
@Autowired
private MockMvc mockMvc;
@MockBean
InformationUtileService informationUtileService;
@MockBean
UserService userService;
ObjectMapper mapper = new ObjectMapper();
@Test
public void givenInformationsUtiles_whenGetInfoUtiles_thenReturnJsonArray()
throws Exception {
InformationUtile informationUtile = new InformationUtile();
informationUtile.setId(1);
informationUtile.setContent("oumaima");
informationUtile.setDescription("test");
Media medias = new Media();
medias.setType("image/png");
medias.setUrl("C:\\files\\actualite\\32769\\adobexd.png");
List<Media> allMedias = new ArrayList<Media>();
allMedias.add(medias);
informationUtile.setMedias(allMedias);
OngoingStubbing<User> user = Mockito.when(userService.getUser(Mockito.anyLong())).thenReturn(new User());
Mockito.when(informationUtileService.addOrEditInfoUtile(Mockito.any(InformationUtile.class))).thenReturn(informationUtile);
mockMvc.perform(post("/infoUtile/add/{id}",informationUtile.getId())
.contentType(MediaType.APPLICATION_JSON)
.content(mapper.writeValueAsBytes(informationUtile)))
.andExpect(status().isOk());
}
日志
【问题讨论】:
-
也许在某个地方设置了一些上下文路径?
-
不,没有上下文路径@Jan
-
请求是否命中了控制器方法?也许它没有找到映射,因此返回 404,或者它是由控制器方法本身产生的。
-
是的,它击中了控制器,但在 setUser 中停止了。我不知道为什么@MensurQulami
-
能否提供日志,@Oumaima ?