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的主要内容,如果未能解决你的问题,请参考以下文章

Java一个 SpringBoot 单元测试示例

四则运算单元测试

如何给一个SpringBoot项目添加单元测试代码

在SpringBoot中集成单元测试

在SpringBoot中集成单元测试

SpringBoot项目单元测试