首页 > 编程语言 >Spring 项目整合 Junit 一直报 java.lang.NullPointerException空指针异常

Spring 项目整合 Junit 一直报 java.lang.NullPointerException空指针异常

时间:2024-05-31 16:11:45浏览次数:26  
标签:lang java yue Spring Junit import org com junit

1.异常信息

java.lang.NullPointerException: Cannot invoke "com.yue.service.StudentService.changeInfo()" because "this.studentService" is null

2.测试代码

package com.yue.test;

import com.yue.config.DataSourceConfig;
import com.yue.service.StudentService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

@SpringJUnitConfig(value = DataSourceConfig.class)
public class TxTest {

    @Autowired
    private StudentService studentService;

    @Test
    public void testTx(){
        studentService.changeInfo();
    }
}

3.问题分析

  • 测试代码是没有问题的;
  • 问题的关键是:Junit不适合在spring项目使用,应该使用Junit5;
  • Spring 整合Junit5 的其中一种方式是:@SpringJUnitConfig(classes = SpringConfiguration.class)。

4.解决方案

  • 删除 import org.junit.Test;, 以及删除pom.xml文件Junit的依赖
  • 在pom.xml文件导入Junit5的依赖包
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.10.0</version>
</dependency>

标签:lang,java,yue,Spring,Junit,import,org,com,junit
From: https://www.cnblogs.com/magicYue/p/18224742

相关文章

  • springboot关键注解
    目录标记容器类注解1.@Controller 2.@Service3.@Repository4.@Component 依赖注入注解1.@Autowired2.@Resource@Autowired与@Resource的区别 web相关注解@RequestMapping属性介绍用法示例注意事项@GetMapping和@PostMapping @RestController......
  • (D卷,100分)- 约瑟夫问题(Java & JS & Python & C)
    获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。题目描述输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m......
  • Java学习-Sentinel 1.8.4 规则持久化到Nacos
    文章目录一、前言二、快速体验1、部署sentinel2、SpringCloud中规则持久化到nacos3、sentinel控制台操作测试三、sentinel-dashboard源码修改1、`pom.xml`中添加依赖2、`application.properties`中添加nacos配置3、nacos配置新增NacosConfig新增NacosConfigUtil4、举......
  • JAVA基础_面向对象
    类和对象        面向对象(ObjectOriented)是Java的编程范式,是一种对现实世界理解和抽象的方法。其中包括类、对象(实例)、属性、方法、等概念。类:类是一个模板,是一个抽象,它描述一类对象的行为和状态。对象:是类的一个实例,是具体的,有状态和行为。 属性:对象的状态称为......
  • java调用科大讯飞离线语音合成SDK --内附完整项目
    科大讯飞语音开放平台基础环境搭建1.用户注册注册科大讯飞开放平台账号2.注册好后先创建一个自己的应用 创建完成后进入应用选择离线语音合成(普通版)可以看到我们开发需要的SDK,选择windowsMSC点击下载。3.选择你刚刚创建的应用,选择windows系统,选择离线语言合成(普通版)......
  • Java基础之JVM
    一、Java中的内存管理1、程序,无论是代码还是数据,都需要存储在内存中。JVM为Java程序提供并管理所需要的内存空间2、JVM内存分为堆(heap)、栈(stock)、方法区(method)三个区域,分别用于储存不同的数据。3、HotSpot是SunJDK和OpenJDK中所带的虚拟机(SunJDK和OpenJDK除了注释,代码实现......
  • 【Java代码调用华为云IoT MQTT】
    目录欢迎关注微信公众号:数据科学与艺术作者WX:superhe199下面是使用Java代码调用华为云IoTMQTT:importorg.eclipse.paho.client.mqttv3.*;importorg.eclipse.paho.client.mqttv3.persist.MemoryPersistence;publicclassHuaweiCloudMqttExample{publi......
  • 大模型应用之基于Langchain的测试用例生成
    一用例生成实践效果在组内的日常工作安排中,持续优化测试技术、提高测试效率始终是重点任务。近期,我们在探索实践使用大模型生成测试用例,期望能够借助其强大的自然语言处理能力,自动化地生成更全面和高质量的测试用例。当前,公司已经普及使用JoyCoder,我们可以拷贝相关需求及设计文......
  • java 字符串反射调用类
    步骤流程 步骤说明定义字符串:首先,你需要定义一个字符串,该字符串为你要调用的类的全限定名。通过反射获取类:使用反射机制,根据定义的字符串获取对应的类。调用方法:利用反射获取的类,调用其中的方法。详细步骤定义字符串在你的代码中定义一个字符串,代表要调用的类的全限定......
  • Java中进度丢失问题
    Java开发过程中我们有时会遇到一些有必要的运算,而一些项目尤其是金融相关的项目对这些运算的精度要求较高。那么为什么会出现精度丢失的情况,我们又该如何解决这种问题呢?问题原因首先计算机进行的是二进制运算,我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制......