spring test---restful与文件上传
spring提供了大量经常使用的功能測试,如文件上传、restful风格url訪问。以下介绍主要介绍下test中经常使用功能的使用方法:
首先能够静态导入类。方便在測试类中使用,导入的类有
import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
前提工作,配置环境和初始化mockMVC
// @Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
// @Before
public void setup()
{
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac)
.alwaysExpect(status().isOk())
.addFilters(new CharacterEncodingFilter()).build();
}
普通请求:
this.mockMvc
.perform(
get("/ll.mvc").param("name", "DDDDDDD").accept(
MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andDo(MockMvcResultHandlers.print());
andDo(MockMvcResultHandlers.print():将会打印出请求的内容以及返回结果的信息。
restful风格:
this.mockMvc.perform(post("/{id}/kk.mvc", 43));
文件上传:
this.mockMvc.perform(fileUpload("/file.mvc").file(
new MockMultipartFile("文件名称", new FileInputStream("文件path"))));