使用spring boot test对restful接口进行测试

一、引入测试依赖包java

二、编写测试类(GET请求)git

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
	
	@Autowired
	private WebApplicationContext wac;
	
	private MockMvc mockMvc;
	
	@Before
	public void setup(){
		//让每一个测试用例启动以前都构建这样一个启动项
		mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
	}
	
	@Test
	public void whenQueryUserAll() throws Exception{
		//MockMvcRequestBuilders构建GET请求
		mockMvc.perform(MockMvcRequestBuilders.get("/user")
						//请求参数
						.param("token", "asfsafqfEQFFA$@%%4")
						//请求编码和数据格式为json和UTF8
						.contentType(MediaType.APPLICATION_JSON_UTF8))
						//指望的返回值 或者返回状态码	
						.andExpect(MockMvcResultMatchers.status().isOk());
						//指望获取返回值的具体 什么参数 或者具体某个字段的值 具体在GitHub 搜jsonPath 什么参数的什么value
						//.andExpect(MockMvcResultMatchers.jsonPath("$.User.userName").value("zyy"));
	}
	
	
}

 

https://github.com/json-path/JsonPathgithub

三、编写测试类(POST请求)web

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
	
	@Autowired
	private WebApplicationContext wac;
	
	private MockMvc mockMvc;
	
	@Before
	public void setup(){
		//让每一个测试用例启动以前都构建这样一个启动项
		mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
	}
	

	@Test
	public void greatUserWhithDetailView() throws Exception{
		String content = "{\"userName\":\"二十岁之后\",\"passWord\":null,\"id\":88}";
		
		//MockMvcRequestBuilders构建GET请求
		String result = mockMvc.perform(MockMvcRequestBuilders.post("/user")
						//请求编码和数据格式为json和UTF8
						.contentType(MediaType.APPLICATION_JSON_UTF8)
						//请求的参数,为json的格式
						.content(content))
						//指望的返回值 或者返回状态码	
						.andExpect(MockMvcResultMatchers.status().is5xxServerError())
						//返回请求的字符串信息
						.andReturn().getResponse().getContentAsString();
		System.out.println(result);
	}
	
}
相关文章
相关标签/搜索