多学习。

【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 @   czyaaa  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示