SpringBoot启用web模拟测试(一)

news/2024/11/28 3:49:00/
添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.5.10</version>
</dependency>

模拟端口

   虚拟请求测试

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {@Autowiredprivate IBookService iBookService;@GetMapping("/get/{id}")public R getById(@PathVariable Integer id) throws IOException {return new R(true,iBookService.getById(id));}@GetMappingpublic R getAll(){return new R(true,iBookService.list());}@PostMappingpublic R save(@RequestBody Book book) throws IOException {boolean flag = iBookService.save(book);return new R(flag,flag?"添加成功🙂":"添加失败😂");}@PutMappingpublic R updateById(@RequestBody Book book){boolean flag = iBookService.modify(book);return new R(flag,flag?"数据更新成功":"数据更新失败");}@DeleteMapping("/delete/{integer}")public R deleteById(@PathVariable Integer integer){boolean flag = iBookService.delete(integer);return new R(flag,flag?"数据删除成功":"数据删除失败");}@GetMapping("{current}/{pageSize}")public R getByPage(@PathVariable Integer current,@PathVariable Integer pageSize,String name,Book book){System.out.println("name"+name);System.out.println("book"+book);IPage<Book> ipage=iBookService.getByPage(current,pageSize,book);if(current>ipage.getPages()){ipage =iBookService.getByPage((int)ipage.getPages(),pageSize,book);}return new R(true,ipage);}
}

测试代码

@ContextConfiguration(classes = Application.class)
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
//开启虚拟MVC调用
@AutoConfigureMockMvc
public class WebTest {@Autowiredprivate MockMvc mvc;@Test//http://localhost/testSpringboot/books//创建虚拟请求,当前访问bookspublic void test() throws Exception {MockHttpServletRequestBuilder mockHttpServletRequestBuilder= MockMvcRequestBuilders.get("/books");//执行对应的请求mvc.perform(mockHttpServletRequestBuilder);}

总结


http://www.ppmy.cn/news/62880.html

相关文章

C++面向对象编程

面向对象编程 面向对象编程和面向过程编程面向过程面向对象 类型设计类的成员函数对象的创建和使用C对象模型this指针构造函数和析构函数构造函数定义和使用析构函数的定义和使用 对象的生存周期拷贝构造函数深拷贝与浅拷贝 运算符的重载 面向对象编程和面向过程编程 面向过程…

操作系统:06 进程通信

1 基本概念 进程间通信是指两个或多个进程之间交互数据的过程&#xff0c;因为进程之间是相互独立的&#xff0c;为了协同工作必须进行进程间交互数据 2 进程间通信的分类 2.1 简单的进程间通信&#xff1a; 信号(携带附加数据)、文件、命令行参数、环境变量表 2.2 传统的进…

Java线程池及其实现原理

线程池概述 线程池&#xff08;Thread Pool&#xff09;是一种基于池化思想管理线程的工具&#xff0c;经常出现在多线程服务器中&#xff0c;如MySQL。 线程过多会带来额外的开销&#xff0c;其中包括创建销毁线程的开销、调度线程的开销等等&#xff0c;同时也降低了计算机…

Vue3 watch 监听对象数组中对象的特定属性

在 Vue 3 中&#xff0c;可以使用 watch 函数来监听对象数组中对象的特定属性。可以通过在回调函数中遍历数组来检查对象的特定属性是否发生变化&#xff0c;并在变化发生时执行相应的操作。 一、监听对象的特定属性 例如&#xff0c;假设有一个名为 items 的对象数组&#x…

欧科云链OKLink:2023年4月安全事件盘点

一、基本信息 2023年4月安全事件共造约6000万美金的损失&#xff0c;与上个月相比&#xff0c;损失金额有所降落&#xff0c;但安全事件数量依旧不减。其中&#xff0c;Yearn Finance因参数配置错误&#xff0c;导致了1000多万美金的损失。同时&#xff0c;有一些已经出现过的…

platform总线五级匹配解析

代码来源&#xff1a;开源linux内核linux-6.2.9 platform总线设备与驱动的匹配 对于device和driver无论哪个创建都会尝试主动寻找对方进行绑定&#xff0c;而platform bus总线的匹配原则如上面的代码所示&#xff0c;共有五级匹配&#xff0c;这里进行详细解析下&#xff1a; …

CSAPP第九章 虚拟内存

概述 程序是存放在虚拟地址空间中&#xff0c;运行是在物理空间中&#xff0c;如何进行转换是虚拟内存需要研究的问题。 完成逻辑地址到虚拟地址再从虚拟地址到逻辑地址映射的机构叫MMU 两个部件 段式管理和页式管理 之前有提到&#xff0c;cache的管理是通过cache映射表&…

SIM800C模块AT指令测试(三)语音功能相关

1. 紧急呼叫操作 每个国家区域的紧急号码不同&#xff0c;客户可通过AT指令设置需要的号码&#xff0c;最多可以设置11个。 ATCEMNL? CEMNL: (0-1),(1-11),("0"-"999")... OK ATCEMNL1,3,“112”,“000”,“911” // 设置紧急号码 OK AT…