解决单元测试无@SpringBootTest引发的空指针异常问题

近日在制作项目的途中进行了单元测试,但是遇到了NullPointerException空指针异常的问题,故作此记录

1、异常描述

  • 因为前端尚未搭建好界面,因此在后端业务逻辑写好之后便通过【SpringBoot单元测试】去做了一个测试,但是一开始测试的时候便引发了 空指针异常 的问题,记得之前有遇到过但是没有做记录,现今在遇到后进行了相关排查,发现了问题,故记录了下来

2、异常排查

  • 通过看到下面的异常信息"this.userMapper" is null那我第一时间肯定是去查看这个通过依赖注入的UserMapper
java 复制代码
@Autowired
private UserMapper userMapper;

① 类注解检查

  • 首先我去检查的就是这个@Mapper五大类注解,只有在当前的Mapper类加上了这个注解后才可以将其交托给Spring进行管理,此时依赖注入才会起作用

② 映射文件.xml格式配置检查

  • 第二块去检查的就是这个映射的.xml文件,【namespace】命名空间是否正确,以及.xml文件的格式是否正确

③ application.yml配置文件的检查

  • 但是在前两步都没问题的情况下,我又再次去检查了SpringBoot的 配置文件 ,因为有关myBatis的文件映射就是靠这里进行配置的

但是在排查了以上这些问题之后均没有发现问题

  • 那此时继续回本溯源,既然我们使用的是SpringBoot单元测试,那么就去单元测试里找问题吧,结合 SpringBoot面向注解开发 这个理念,于是我便注意到了@SpringBootTest这个注解

  • 那在加上这个注解之后我们再来看看空指针的异常是否解决
java 复制代码
@SpringBootTest
class UserMapperTest {
    @Autowired
    private UserMapper userMapper;
    @Test
    void login() {
        String username = "admin";
        UserInfo userInfo = userMapper.login(username);
        System.out.println(userInfo);
    }
}
  • 可以看到,在加上@SpringBootTest这个注解后单元测试就很顺利地通过了

以上就是关于本次 单元测试无@SpringBootTest引发的空指针异常问题 所展开的一系列排查测试,望对您有帮助:rose:

相关推荐
2601_953720828 小时前
【计算机毕业设计】基于Vue与Spring Boot的高校兼职信息服务平台设计与实现
spring boot·后端·课程设计
evans在进步11 小时前
Spring Boot 核心机制详解:可执行 JAR、CORS、静态资源与配置绑定
spring boot·后端·jar
Sayuanni%311 小时前
SpringBoot 从注解到源码:核心知识点总结
java·spring boot·后端
m0_5873830013 小时前
社区家政系统开发实战:从需求分析到上线部署全指南
java·spring boot·spring·需求分析
凤山老林13 小时前
动态 i18n 体系落地:Spring Boot 多租户热加载与前后端协同实践
java·spring boot·后端·i18n
【赫兹威客】浩哥14 小时前
基于SpringBoot+Vue3的健身运动管理系统|WebSocket实时消息 健身房毕设项目
spring boot·websocket·课程设计
凤山老林14 小时前
数据库读写分离与动态路由实战:Spring Boot + ShardingSphere-JDBC 生产配置
数据库·spring boot·后端·分库分表·sharding-jdbc
RuoyiOffice15 小时前
SpringBoot3+Vue3 代码生成器深拆:元数据 IR、模板编译与安全同步
spring boot·vue3·mybatis plus·代码生成器·spring boot 3·velocity·元数据驱动
paopaokaka_luck15 小时前
基于springboot3+vue3的支教志愿者管理系统(AI问答、协同过滤算法、Echarts图形化分析)
spring boot·echarts
2601_9638701817 小时前
【计算机毕业设计】基于Vue+Spring Boot的助农电商系统的设计与实现
spring boot·后端·课程设计