以上就是对于几个方法的单元测试的写法整体代码如下:
@RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureMockMvc public class MallEquipmentControllerTest { @Autowired private MockMvc mockMvc; @Autowired private WebApplicationContext context; @Before public void setUp() { this.mockMvc = MockMvcBuilders.webAppContextSetup(context).build();//建议使用这种 //this.mockMvc = MockMvcBuilders.standaloneSetup(mallEquipmentController).build(); } @Test //1.添加商城分类信息 public void MallTypesAdd() throws Exception { String data="{\n" + " \"name\": \"接口测试啦啦啦\",\n" + " \"note\": \"接口测试描述啦啦啦\",\n" + " \"weight\":39\n" + "}"; MvcResult result = mockMvc.perform(MockMvcRequestBuilders.post("接口地址,例如:/api/users") .contentType(MediaType.APPLICATION_JSON).content(data) .accept(MediaType.APPLICATION_JSON)) //接收的类型 .andReturn(); Assert.assertEquals(200,result.getResponse().getStatus()); } @Test //4.根据id获取商城分类信息 public void getMallType() throws Exception { MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/api/types/1") .accept(MediaType.APPLICATION_JSON)) //接收的类型 .andExpect(MockMvcResultMatchers.status().isOk()) // .andDo(MockMvcResultHandlers.print()) //打印内容 // .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON_UTF8)).andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("OK"))) //匹配返回值中的内容 // .andExpect((ResultMatcher) MockMvcResultMatchers.jsonPath("$.errcode",MockMvcResultMatchers.status().is(200)))////使用jsonPath解析返回值,判断具体的内容 .andReturn(); Assert.assertEquals(200,result.getResponse().getStatus()); } //2.编辑商城分类信息 @Test public void updateMallTypeById() throws Exception { String json="{\n" + " \"name\":\"QQQ\",\n" + "\t\"weight\":6,\n" + "\t\"note\":\"QQQ\",\n" + "\t\"removeIds\":[1,2]\n" + "}"; MvcResult result = mockMvc.perform(MockMvcRequestBuilders.put("/api/types/{id}",6) //也可以写成这样的:mockMvc.perform(MockMvcRequestBuilders.put("/api/types/6") .contentType(MediaType.APPLICATION_JSON).content(json) .accept(MediaType.APPLICATION_JSON)) //接收的类型 .andExpect(MockMvcResultMatchers.status().isOk()) .andReturn(); System.out.println("返回结果:"+result.getResponse().getContentAsString()); assertEquals(200,result.getResponse().getStatus()); } //3.删除商城分类信息 @Test public void deleteMallType() throws Exception { MvcResult result = mockMvc.perform(MockMvcRequestBuilders.delete("/api/types/{id}",6) //也可以写成这样的:mockMvc.perform(MockMvcRequestBuilders.delete("/api/manage/mall/types/6") .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)) //接收的类型 .andExpect(MockMvcResultMatchers.status().isOk()) .andReturn(); System.out.println("返回结果:"+result.getResponse().getContentAsString()); assertEquals(200,result.getResponse().getStatus()); } @Test public void getMallTypeByNullAbleName() throws Exception { MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/api/types") .param("name","") .accept(MediaType.APPLICATION_JSON)) //接收的类型 .andExpect(MockMvcResultMatchers.status().isOk()) .andReturn(); System.out.println(result.getResponse().getContentAsString()); Assert.assertEquals(200,result.getResponse().getStatus()); } } |
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。