对接口进行测试是一个项目后台开发必不可少的环节,这里总结一个简单可用的demo,作为记录。
首先上一个pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
接下来就是如何写
//表示使用Spring Test组件进行单元测试,其中SpringRunner继承类SpringJUnit4ClassRunner。 @RunWith(SpringRunner.class) @SpringBootTest(classes = SpringShiroApplication.class) //注入一个MockMvc实例; @AutoConfigureMockMvc //测试环境使用,用来表示测试环境使用的ApplicationContext将是WebApplicationContext类型的;value指定web应用的根; @WebAppConfiguration public class UserControlTest { @Autowired private UserController userController; private MockMvc mockMvc; @Before public void setup(){ mockMvc = MockMvcBuilders.standaloneSetup(userController).build(); } //验证controller是否正常响应并打印返回结果 @Test public void getHello() throws Exception { MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/User/queryUser").accept(MediaType.APPLICATION_JSON) .param("username","admin")) // .param("date","2017-7-18 00:00:00") // .param("pageNum","1") // .param("pageSize","10")) .andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); System.out.println("输出 " + mvcResult.getResponse().getContentAsString()); } }这里只是一个简单的get测试接口,同样可以改成其他类型,比较简单。