SpringBoot单元测试示例2
Posted fanqisoft
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot单元测试示例2相关的知识,希望对你有一定的参考价值。
1 package cn.coreqi.security.controller; 2 3 import org.junit.Before; 4 import org.junit.Test; 5 import org.junit.runner.RunWith; 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; 8 import org.springframework.boot.test.context.SpringBootTest; 9 import org.springframework.http.MediaType; 10 import org.springframework.test.context.junit4.SpringRunner; 11 import org.springframework.test.web.servlet.MockMvc; 12 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; 13 import org.springframework.test.web.servlet.result.MockMvcResultMatchers; 14 import org.springframework.test.web.servlet.setup.MockMvcBuilders; 15 import org.springframework.web.context.WebApplicationContext; 16 17 @RunWith(SpringRunner.class) //如何运行测试用例,使用SpringRunner执行测试用例。 18 @SpringBootTest //指定当前类为测试用例类 19 @AutoConfigureMockMvc 20 public class UserControllerTests { 21 @Autowired 22 private WebApplicationContext wac; 23 24 @Autowired 25 private MockMvc mockMvc; 26 27 @Before //@Before标注的方法会在每一个测试用例执行之前执行 28 public void setup(){ 29 mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); 30 } 31 32 @Test 33 public void whenQuerySuccess() throws Exception { 34 //MockMvcRequestBuilders的get方法会模拟发出一个GET请求 35 mockMvc.perform(MockMvcRequestBuilders.get("/users") 36 .param("usernmae","fanqi") 37 .param("size","15") 38 .param("page","3") 39 .param("sort","id,desc") 40 .contentType(MediaType.APPLICATION_JSON_UTF8)) 41 .andExpect(MockMvcResultMatchers.status().isOk()) //期望服务器端返回的信息 42 .andExpect(MockMvcResultMatchers.jsonPath("$.length()").value(3)); 43 } 44 }
以上是关于SpringBoot单元测试示例2的主要内容,如果未能解决你的问题,请参考以下文章