SpringBoot单元测试注入空指针

现象

运行出现空指针异常,指向注入类的使用行

类似下边的单元测试,空指针异常指向fileCategoryDictService.deleteFileCategoryDictById(6);所在行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package xxx.test;

import com.ifnxs.amp.textanalyse.web.biz.configmgr.service.FileCategoryDictService;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;
import java.util.List;

@SpringBootTest
public class FileCategoryDictTest {

@Resource
private FileCategoryDictService fileCategoryDictService;


/**
* 删除字典
*/
@Test
public void delFileCategoryDict() {
fileCategoryDictService.deleteFileCategoryDictById(6);
}
}

解决

  • @Test注解的引入由import org.junit.Test;改为import org.junit.jupiter.api.Test;

  • 如果由于特殊原因一定从import org.junit.Test;引入的,可以在FileCategoryDictTest类上加上@RunWith(SpringJUnit4ClassRunner.class)注解

  • 还没解决,可以尝试@SpringBootTest加上参数填入SpringBoot启动类如@SpringBootTest(classes=xxApplication.class)


SpringBoot单元测试注入空指针
https://blog.ctftools.com/2022/04/newpost-41/
作者
Dr3@m
发布于
2022年4月27日
许可协议