Springboot的MockMvc呼叫api層介面進行單元測試
阿新 • • 發佈:2021-02-12
技術標籤: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);
}
執行結果:
綠色箭頭代表測試成功