Spring整合junit


抛出问题

1、应用程序的入口
main方法
2、junit单元测试中,没有main方法也能执行
junit集成了一个main方法
该方法就会判断当前测试类中有哪些@Test注解
junit就让有Test注解的方法执行
3、junit不会管我们是否采用spring框架
在执行测试方法时,junit根本不知道我们是不是使用了spring框架
所以也就不会为我们读取配置文件/配置类创建spring核心容器
4、由以上三点可知
当测试方法执行时,没有Ioc容器,就算写了Autowired注解,也无法实现注入

解决——Spring整合junit

1.导入spring整合junit的jar(坐标)
2.使用Junit提供的一个注解把原有的main方法替换了,替换成spring提供的@RunWith注解
3.告知spring的运行器,spring和ioc创建时基于xml还是注解的,并且说明位置
@ContextConfiguration
locations:指定xml文件的位置,加上classpath关键字,表示在类路径下
classes:指定注解类所在地位置

细节:当我们使用spring5.x版本时,要求junit的jar必须是4.12及以上
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration([location=……][classes=……])
public class Aclass{
      @Autowired
      private IAclass as=null;
     
      @Test
      public void test1(){
      方法体
      }
     
      @Test
      public void test2(){
      方法体
      }
      ……
      ……
     
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM