對接口進行測試是一個項目後臺開發必不可少的環節,這裏總結一個簡單可用的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測試接口,同樣可以改成其他類型,比較簡單。