欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot单元测试service、dao等空指针异常

程序员文章站 2022-04-26 10:29:05
...

SpringBoot单元测试service、dao等空指针异常

在完成业务代码后通常要进行本地单元测试,再上线测试,但是在单元测试的时候,通过@Autowried或者@Resource注入的Bean没有被创建,应为这些Bean是Spring的IoC容器创建的,SpringBoot没有启动的话也就不可能创建这些Bean了,因此报空指针异常

解决方法

在测试类上加上如下两个注解

1. @RunWith(SpringRunner.class)

2. @SpringBootTest(classes = UserMainApplication.class)

其中UserMainApplication是整个SpringBoot项目的启动类

单元测试单码如下:

@SpringBootTest(classes = UserMainApplication.class)
@RunWith(SpringRunner.class)
public class UserServiceImplTest {

    @Resource
    private UserService userService;

    @Test
    public void testDelete() {
        userService.delete(3);
    }
}

这样,进行单元测试的时候就不会再报控制什异常了。