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 .andReturn().getResponse().getContentAsString(); 44 } 45 }
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/10596275.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
分类:
Spring Test
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!