SpringBoot 测试类无法自动注入问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:16   3557   0
一、背景
SpringBoot + JUnit4
测试类启动测试的时候报空指针
二、解决
测试类上面增加注解
@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestApplication.class)
解决该问题心得:
1.之前使用过 JUnit5, JUnit5相较4有了很大优化,使用 JUnit5的时候不用增加@RunWith(SpringRunner.class)注解,@SpringBootTest注解也无需增加参数
2.非必要不要额外加一些其他注解,尤其是扫描类的注解,比如@MapperScan或者@ComponentScan,防止因为扫描范围导致其他问题
package com.middle.dao;

import com.claim.ClaimApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = ClaimApplication.class)
public class userDaoTest {
    @Autowired
    UserDao userDao;
    @Test
    public void select(){
        System.out.println("1111111111");
        userDao.selectByPrimaryKey("111");
        System.out.println("0000000000");
    }
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP