启动SpringBoot测试方法的时候报错:java.lang.NullPointerException

在SpringBoot项目中启动一下测试类

@SpringBootTest
//@RunWith(SpringRunner.class)
public class SampleTest {

    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        Assert.assertEquals(5,userList.size());
        userList.forEach(System.out::println);
    }

}

报错: java.lang.NullPointerException
原因: 是因为@Test注解我们使用的是JUnit4包下的,这不会与SpringBoot框架有什么直接的联系
解决方法:
(1)必须在SampleTest方法上添加@RunWith注解,来指定其测试环境
(2)使用JUnit5的@Test注解,即JUnit Jupiter API中的@Test注解

因此在进行测试的时候,要么在测试方法上添加JUnit Jupiter API中的@Test注解,要么是在测试方法上同时添加JUnit中@Test的注解和@RunWith注解指定测试环境。

Spring Boot工程中,NullPointerException通常是由于未正确初始化对象或变量而引起的。以下是一些可能导致NullPointerException的原因和解决方法: 1.对象未正确初始化或注入:请确保您的对象已正确初始化或注入,并且没有在使用之前被设置为null。 2.方法返回null:请确保您的方法在任何情况下都不会返回null。如果方法可能返回null,则应该在调用该方法之前检查返回值是否为null。 3.数组未正确初始化:请确保您的数组已正确初始化,并且没有在使用之前被设置为null。 4.静态变量未正确初始化:请确保您的静态变量已正确初始化,并且没有在使用之前被设置为null。 5.空指针异常可能是由于数据层返回了空值,导致在service层或controller层中使用该值时出现了异常。请检查您的数据层是否正确返回了值,并确保在使用该值之前进行了非空检查。 以下是一些可能有用的代码示例: ```java // 确保对象已正确初始化或注入 @Autowired private MyService myService; // 确保方法不会返回null public String getName() { return Objects.requireNonNull(name, "Name must not be null"); } // 确保数组已正确初始化 int[] arr = new int[10]; // 确保静态变量已正确初始化 private static final MyObject myObject = new MyObject(); // 确保在使用值之前进行非空检查 if (dataSectionService != null) { // 使用dataSectionService的返回值 } else { // 处理dataSectionService为null的情况 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非鱼Swx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值