【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)
配置成功
分类:
Spring
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!