序言
前几天新写了个需求关于前后台交互controller层的代码,想要自测,但是前端还没完成,所以用到mockmvc单元测试,这里简单介绍记录一下。
正文
代码如下:
/**
* Created by dt on 2017/8/8.
*/
public class smallControllerTest {
private MockMvc mockMvc;
@Before
public void setUp() throws Exception {
mockMvc = MockMvcBuilders.standaloneSetup(new MyOrderController()).build();
}
@Test
public void testSmallOrderController() throws Exception {
// MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new MyOrderController()).build();
String responseString = mockMvc.perform(
post("/mobile/order/user/detail").contentType(MediaType.APPLICATION_JSON)
.content("{\"mId\":\"656\",\"oId\":\"30\"}")
).andExpect(status().isOk()) //返回的状态是200
.andReturn().getResponse().getContentAsString(); //将相应的数据转换为字符串
System.out.println("--------返回的json = " + responseString);
}
}
注:
MockMvcBuilders.standaloneSetup(new MyOrderController()).build():开始测试之前创建以你需要测试的控制层代码的mockmvc容器。
mockMvc.perform():请求地址以及请求方式(post or get)。
contentType:交互数据格式,一般是json。
content:json字符串参数。
后续有更详细的再补充。