Spring Test中使用MockMvc进行上传文件单元测试时,报NullPointerException

问题:
MockMvc peform在集成测试中返回nullPointerException
原因:
  • springboot-2.x版本以上,当你添加依赖spring_boot_starter_test后,可以在内部看到自带了jupiter测试核心模块,也就是 junit5,junit5(jupiter测试引擎)不再支持junit4(vintage测试引擎),在使用时自然不再需要spring来提供了,即不需要再使用@runWith注解,也就是在你的单元测试类上面不用再加@RunWith!!!
解决方案:
  • @Test 注解,请导入"org.junit.jupiter.api.Test"
  • 把网上那些教程里面setUp()方法上面的@Before注解 换成 @BeforeEach注解,请导入"org.junit.jupiter.api.BeforeEach"
  • 不需要再在测试类上面添加@RunWith(***.class),前提是springboot版本在2.x以上哈,为什么看上面的原因!
相关推荐
yaoxin5211235 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
何极光6 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉6 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉7 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.07 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木7 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
Qt程序员7 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean7 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
大白菜和MySQL7 小时前
java应用排查高线程
java·python
KobeSacre8 小时前
ReentrantLock源码
java