Spring5的新特性,整合JUnit5时出现空指针异常

Spring5的新特性,整合JUnit5时出现空指针异常
1、分析
测试中调用的方法出现空指针异常
单元测试中调用方法的对象出现空指针异常
2、本次空指针异常是调用方法的对象出现空指针异常
原因使用了JUnit5的注解应用(@ExtendWith(SpringExtension.class),但导入的是JUnit4的包,导致测试时出现控制真,这里只需要将导入的JUnit4的包删除(import org.junit.Test;)重新导入Junit5的包即可(import org.junit.jupiter.api.Test;)

导入JUnit4的包的代码

import org.junit.Test;//这里导入错误会导致测试时出现空指针异常
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//1、引入JUnit5的jar包
//2、使用注解@ExtendWith(SpringExtension.class)
//3、使用注解@ContextConfiguration("classpath:bean2.xml")加载xml文件

@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:bean2.xml")
public class JTest5 {

    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.accountMoney();
    }

}

测试结果:
在这里插入图片描述测试test()的结果

Debug测试:
在这里插入图片描述
在 userService.accountMoney();这一行设置断点经行Debug测试。

导入JUnit5的包的代码

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//1、引入JUnit5的jar包
//2、使用注解@ExtendWith(SpringExtension.class)
//3、使用注解@ContextConfiguration("classpath:bean2.xml")加载xml文件

@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:bean2.xml")
public class JTest5 {

    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.accountMoney();
    }

}

导入JUnit5的包的快捷方法,将import org.junit.Test;删除,@Test会报错在该注解上使用快捷键Alt+Enter,然后选择Import Class,然后再选择JUnit5即可
在这里插入图片描述
用快捷键Alt+Enter,然后选择Import Class

在这里插入图片描述
选择JUnit5即可


版权声明:本文为weixin_45088605原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。