Junit单元测试时,无法使用@Autowired注解问题

在Junit测试中@Autowired无法生效的原因

在进行Junit单测的过程中,如果我们要使用Spring的注解,就需要在Spring容器环境下:

  • 那么首先我们需要引入Spring-Test框架支持
  • 然后我们还要加载bean文件

解决方案

  • 使用@RunWith(SpringJUnit4ClassRunner.class)引入Spring-Test框架支持
  • 使用@ContextConfiguration({“classpath:applicationContext.xml”})来加载bean文件

@RunWith

作用:指定使用的单元测试执行类

使用@RunWith注解去改变Junit的默认执行类,并实现自己的Listener在平时的单元测试,如果不适用RunWith注解,那么Junit将会采用默认的执行类Suite执行

Junit语序用户指定其他的单元测试执行类,只需要我们的执行测试类继承org.junit.runners.BlockJUnit4ClassRunner就可以了,Spring的执行类SpringJUnit4ClassRunner就是继承了该类,我们平时使用Spring也比较多,为了能够更加方便的引用配置文件,我们单元测试就是用了Spring的执行类,所以需要加上@RunWith(SpringJUnit4ClassRunner.class),加上之后,测试就会将在Spring容器环境下进行

@ContextConfiguration

作用:使用注解引入多个配置文件

结合@RunWith(SpringJUnit4ClassRunner.class)使用,在spring容器环境下进行测试后,引入spring的bean配置文件,使得容器可以找到我们需要的bean

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值