很多时候对项目中的api接口大多是启动项目后用浏览器调用一下接口进行测试,或者用swagger,还有postman等工具,其实在单测里面也可以模拟浏览器进行接口测试。
先定义一个api接口,
@RequestMapping(value = "/mockTest", method = RequestMethod.GET)
@ResponseBody
public String mock(
@RequestParam(value = "name") String name
) {
return "参数:" + name;
}
在单测类里面,添加mock对象
private MockMvc mockMvc;
@Autowired
private WebApplicationContext context;
@Before
public void before() throws Exception {
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void testMock() throws Exception {
mockMvc.perform(
MockMvcRequestBuilders.get("/mockTest")
.param("name", "demo")
)
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
;
}