情况描述
单元测试时,待测功能点出现空指针异常,点击后出现Find why ‘xxxMapper‘ could be null的描述。在找了网络上其他解释之后仍然不起作用,其中就包括@Test这个注解的4或者5版本,并不适用于我的异常解决情况。
异常分析
我要测试的是一个ServiceImpl类里的private方法,为了方便单元测试,将这个方法由private改成public,
比如类是AServiceImpl,在单元测试里声明的时候没有用@Autowired注解,
而是直接
AServiceImpl impl = new AServiceImpl();
impl.方法();
解决方案
用@Autowired把ServiceImpl引进来,然后在@Test里面用引入的属性去调方法,而不是自己new一个serviceImpl出来去调方法。