参考的学习视频→https://b23.tv/av47952931/p82
-首先我们明确以下几点
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(坐标)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
2.使用Junit提供的注解@Runwith可以将原有的main方法替换成spring提供的main方法
3.告知spring的运行器,spring的ioc创建是基于xml还是注解,并说明位置
-使用的注解:@ContextConfiguration
- locations:指定xml文件的位置,加上classpath关键字,表示在类路径下
- classes:指定注解类所在的位置
-整合前的测试类-
-整合后的测试类-