1. 程式人生 > 其它 >Springboot的MockMvc呼叫api層介面進行單元測試

Springboot的MockMvc呼叫api層介面進行單元測試

技術標籤:ssm學習筆記javaspring bootjunit介面

如何測試Controller對外提供的接⼝

1.增加類註解 @AutoConfigureMockMvc
2.注⼊⼀個MockMvc類

相關API : perform執⾏⼀個RequestBuilder請求
andExpect:新增ResultMatcher->MockMvcResultMatchers驗證規則
andReturn:最後返回相應的MvcResult->Response

code:

其中DemoProjectApplication是我的啟動類
在這裡插入圖片描述
get或post等等
後面是介面 根據自己需求來


@RunWith(SpringRunner.class)  //底層用junit  SpringJUnit4ClassRunner
@SpringBootTest(classes={DemoProjectApplication.class})//啟動整個springboot工程
@AutoConfigureMockMvc
@Autowired
 private MockMvc mockMvc;
 @Test
 public void testVideoListApi()throws Exception{
 MvcResult mvcResult =
mockMvc.perform(MockMvcRequestBuilders.
get("/api/v1/pub/video/list")) .andExpect(MockMvcResultMatchers.status().isOk()).andReturn(); int status = mvcResult.getResponse().getStatus(); System.out.println(status); //會亂碼 //String result = mvcResult.getResponse().getContentAsString(); // 使⽤下⾯這個,增加 編碼 說明,就不會亂碼列印 String result = mvcResult.
getResponse().getContentAsString(Charset.forName("utf-8")); System.out.println(result); }

執行結果:

綠色箭頭代表測試成功
在這裡插入圖片描述