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

      location:指定xml文件的位置,加上classpath关键字,表示在类路径下

      classes:指定注解类所在的位置

    细节:当我们使用spring 5.x版本的时候,要求junit的jar必须是4.12及以上

猜你喜欢

转载自www.cnblogs.com/jichuang/p/13376279.html
今日推荐