多学习。

【SpringIOC】Spring整合Junit

引言

我们虽然可以通过以下方法解决Junit的整合,但那是因为我们作为开发工程师,懂得如何使用Spring。测试工程师并不一定懂得Spring的使用。

分析

一、应用程序的入口:main方法

二、Junit单元测试中,没有main方法也能执行

junit集成了一个main方法,该方法就会判断当前测试类中哪些方法有 @Test 注解,junit就让有Test注解的方法执行。

三、junit不会管我们是否采用Spring框架

在执行测试方法时,junit根本不知道我们是不是使用了Spring框架,所以也就不会为我们读取配置文件/配置类创建Spring核心容器

总结:由以上三点可知,当测试方法执行时,没有IOC容器,就算写了AutoWired注解,也无法实现注入


这样是不行的

Spring整合junit配置

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

1、导入Spring整合junit的jar(坐标)

       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-test</artifactId>
           <version>5.1.5.RELEASE</version>
       </dependency>

2、使用junit提供的注解把原有的main方法替换,替换成spring提供的(加在类上)

@RunWith(SpringJUnit4ClassRunner.class)

3、告知spring的运行器,spring和ioc创建时基于xml还是注解的,并且说明位置

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

@ContextConfiguration(locations = "classpath:bean.xml")
  classes:指定注解类所在的位置
@ContextConfiguration(classes = SpringConfiguration.class)

配置成功


posted @ 2022-04-05 17:33  czyaaa  阅读(43)  评论(0)    收藏  举报