Ich habe den folgenden CodeSpring MVC-Controller Exception-Test
@RequestMapping(value = "admin/category/edit/{id}",method = RequestMethod.GET)
public String editForm(Model model,@PathVariable Long id) throws NotFoundException{
Category category=categoryService.findOne(id);
if(category==null){
throw new NotFoundException();
}
model.addAttribute("category", category);
return "edit";
}
ich Unit-Test bin versucht, wenn NotFoundException geworfen wird, so dass ich schreiben Code wie dieser
@Test(expected = NotFoundException.class)
public void editFormNotFoundTest() throws Exception{
Mockito.when(categoryService.findOne(1L)).thenReturn(null);
mockMvc.perform(get("/admin/category/edit/{id}",1L));
}
aber gescheitert. Haben Sie Vorschläge, wie Sie die Ausnahme testen können?
Oder sollte ich werfe die Ausnahme innerhalb CategoryService, so kann ich so etwas wie dies tun
Mockito.when(categoryService.findOne(1L)).thenThrow(new NotFoundException("Message"));
was die getSimpleMappingExceptionResolver() -Implementierung ist? –
Ich habe das herausgefunden: http://www.mytechnotes.biz/2012/11/spring-mvc-error-handling.html. Sieht aus wie org.springframework.web.servlet.handler.SimpleMappingExceptionResolver ist bereits eine Spring-Klasse – josete