1. 程式人生 > >sping boot 異常和單元測試

sping boot 異常和單元測試

建立一個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")))