版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
罗荣良单元测试与热部署本节学习目标1.掌握SpringBootDevTools热部署配置2.解决IntelliJIDEA热部署不生效的痛点3.理解单元测试的重要性与starter-test组件4.实战:编写Service层业务逻辑测试5.实战:使用MockMvc进行Controller接口测试痛点一:无尽的等待经常出现的场景:修改一行代码->点击重启->等待10秒->刷新页面。“重启应用”是开发效率的头号杀手。解决方案:SpringBoot依赖引入:spring-boot-devtools原理:1.两个类加载器(Base/Restart)。2.只重新加载变化的类(RestartClassLoader)。3.速度极快(通常<1秒)。Settings->Compiler->Buildprojectautomatically(打钩)AdvancedSettings->Allowauto-maketostart...(打钩)IDEA默认不自动编译,必须手动开启!关键配置:IDEA的特殊设置前端模板热部署问题:修改Thymeleaf页面,刷新没变化?原因:默认开启了缓存。解决:application.yml->spring.thymeleaf.cache=false痛点二:不敢重构代码场景:修改了一个核心算法,不敢发布,怕改坏了旧功能。解决方案:单元测试(UnitTesting)。价值:自动化验证、代码的“安全网”。
SpringBoot测试全家桶依赖:spring-boot-starter-test包含组件:1.JUnit5:测试框架核心2.Mockito:模拟对象(Mock)3.AssertJ:流畅断言库4.MockMvc:Web接口测试敬畏之心,保障质量的工匠精神:将每次测试视为交付前的重要质检,是对自己和用户负责。JUnit5核心注解@SpringBootTest:加载Spring上下文@Test:标记测试方法@BeforeEach/@AfterEach:每个测试前后执行@DisplayName:给测试起个中文名实战一:Service层测试目标:测试StudentService.createStudent()代码演示:1.注入Service(@Autowired)2.调用方法3.断言(Assertions.assertEquals)
什么是断言?判断“实际结果”是否等于“预期结果”。常用方法:assertEquals(expected,actual)assertTrue(condition)assertNotNull(object)不满足于“代码能跑”,追求逻辑严密、边界清晰:精益求精,注重细节的工匠精神断言(Assertions):测试的灵魂实战二:Controller层测试(MockMvc)挑战:不启动Tomcat怎么测HTTP接口?神器:MockMvc原理:模拟HTTP请求发送给DispatcherServlet,获取响应。MockMvc代码详解截图:mockMvc.perform(get("/students")).andExpect(status().isOk()).andExpect(jsonPath("$.name").value("张三"))IDEA测试运行面板。绿色钩=通过;红色叉=失败。文字:失败时查看"ExpectedvsActual"对比。测试运行与结果查看本节小结与作业小结:配置DevTools提速,编写JUnit保证质量。在测试中践行工匠精神,就是将测试从一项被迫完成的任务,升华为一种主动构建高质量、可维护软件的自觉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高考(安徽卷)历史试题及答案
- (2025年)松原市乾安县辅警考试公安基础知识考试真题库及参考答案
- 安康地区岚皋县2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- DB43∕T 1032-2015 非承重蒸压粉煤灰空心砖
- 岳阳市汨罗市2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 三明市清流县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 大理白族自治州弥渡县2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 武汉市武昌区2025-2026学年第二学期四年级语文第七单元测试卷(部编版含答案)
- 庆阳地区庆阳县2025-2026学年第二学期四年级语文期末考试卷(部编版含答案)
- 2026年老人照护培训考试试题及答案
- 统编版(新版)道德与法治八年级下册课件13.1全面依法治国的指导思想
- 2025年三季度云南航空产业投资集团招聘(云南云航投现代物流有限公司岗位)考试笔试历年常考点试题专练附带答案详解2套试卷
- 公路工程项目首件工程认可制监理实施细则
- 3.长方体和正方体(单元测试)2025-2026学年五年级数学下册人教版(含答案)
- 八大特殊作业安全管理流程图(可编辑)
- 【《基于西门子S7-300PLC的液位控制系统设计与实现》9300字(论文)】
- 2026年鄂尔多斯生态环境职业学院高职单招职业适应性考试参考题库带答案解析
- 拓展训练红黑商战
- 《NBT 20485-2018 核电厂应急柴油发电机组设计和试验要求》(2026年)实施指南
- 深圳仓库出租合同范本
- 液化石油气库站工理论考试题库(含答案)
评论
0/150
提交评论