Spring整合junit
程序员文章站
2022-06-13 20:36:47
...
一、需求
由于在使用测试包时,里边的测试方法每次使用都需要首先获取容器对象,再调用方法getBean()来得到想要的对象,因此想将重复获取容器对象的代码省略
做法:在类中定义一个IAccountService类型的属性,使用注解方法注入,但是存在一些问题
二、问题分析
1、应用程序入口
main方法
2、junit单元测试中,没有main方法也能执行
junit集成了一个main方法,该方法会判断当前的测试类中哪些方法有@Test注解,junit就会让有Test注解的方法执行
3、junit不会管我们是否采用spring框架
在执行测试方法时,juni不知道我们是否使用了Spring框架,所以不会为我们读取配置文件/配置类创建Spring核心容器
- 因此测试方法执行时,由于没有Spring容器,即使写了注解,也不会起作用
三、解决方法
1、导入Spring整合junit的坐标,注意Spring 5.x版本时,要求junit的jar包要4.12及以上
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
2、使用junit提供的注解RunWith,将main方法替换成Spring提供的
3、告知Spring运行器,Spring和Ioc创建是基于xml文件还是注解(使用ContextConfiguration)
推荐阅读
-
Spring MVC源码(一) ----- 启动过程与组件初始化
-
Spring Cloud Alibaba | Sentinel: 服务限流高级篇
-
spring事务的@Transactional使用事务不生效问题
-
Spring AOP创建Throwdvice实例
-
.NET CORE与Spring Boot编写控制台程序应有的优雅姿势
-
javaweb各种框架组合案例(六):springboot+spring data jpa(hibernate)+restful
-
直钻整合优化 1+1可以大于2!
-
直钻初期推广分别是什么 直钻整合优化注意事项有哪些
-
网站用php实现paypal整合方法
-
在php的yii2框架中整合hbase库的方法