②如何知道是否依赖Spring容器
【摘要】
默认使用 BlockJUnit4ClassRunner 来进行运行。即不依赖容器。 假如说如果需要容器怎么办呢 ?
基于SpringBoot 2.1.x版本分析
@RunWith(SpringRunner.class)@SpringBootTest(classes = {Application.clas...
默认使用 BlockJUnit4ClassRunner 来进行运行。即不依赖容器。 假如说如果需要容器怎么办呢 ? 基于SpringBoot 2.1.x版本分析
-
@RunWith(SpringRunner.class)
-
@SpringBootTest(classes = {Application.class}) // 指定启动类
-
public class BaseApplicationTest {
-
}
1 2 3 4
- SpringRunner告诉JUnit要使用Spring容器
- SpringBootTest告诉JUnit容器的引导类是这个
JUnit是如何实现的呢?

前面启动类中我们使用的注解是 @RunWith 和 @SpringBootTest 那么哪里来解析这个的呢?

由此 JUnit 知道要使用 SpringRunner 进行引导。
由上图我们知道 SpringRunner 实例化的入参就是当前的测试类。那么后续所有的奥妙就在这里了。 我们跟进构造往下追究。

BootstrapUtils#resolveTestContextBootstrapper 拿到SpringBoot的测试引导类 SpringBootTestContextBootstrapper

拿到SpringBoot容器的启动 Main 函数。
到此已经拿到了所有的SpringBoot容器启动参数了。
文章来源: springlearn.blog.csdn.net,作者:西魏陶渊明,版权归原作者所有,如需转载,请联系作者。
原文链接:springlearn.blog.csdn.net/article/details/125858105
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)