建立一个MyException继承RuntimeException类,定义一code属性,其构造方法且传入message参数,用父类方法实现,并封装属性;
建立一个ExceptionHandle类处理异常,用@ControllerAdvice注解来统一处理异常;
方法,Result handle(Exception e)使用@ResponseBody和@ExcepitonHandler value=Exception.class捕获异常类注解,判断 e instanceof MyException判断处理的异常是否是自己定义的异常,如果不是的话返回未知错误,如果是的话,返回code message的方法调用;
可以建一个枚举类来管理异常中的code 和message ,定义code message ,它们的构造方法和getter方法,并定义几种语句UNKNOWN_ERROR(),SUCCESS(),PRIMARY_HEIGHT,MIDDLE_HEIGHT;
Service层单元测试 @Test方法 测试类用@RunWith(SpringRunner.class) @SpringBootTest单元测试 自动注入Service属性;
MyChara myChara=myCharaService.findOne(4);
Assert.assertEquals(new Integer(122),myChara.getHeight());
Controller层单元测试测试类@RunWith(SpringRunner.class)@SpringBootTest @AutoConfigureMockMvc 自动注入MockMvc mvc属性
mvc.perform(MockMvcRequestBuilders.get("/girls").andExpect(MockMvcResultMatchers().status().isOk().andExpect(MockMvcResultMatchers().content().string("abc")))