欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring整合junit

程序员文章站 2022-06-13 20:36:47
...

一、需求

由于在使用测试包时,里边的测试方法每次使用都需要首先获取容器对象,再调用方法getBean()来得到想要的对象,因此想将重复获取容器对象的代码省略
Spring整合junit
做法:在类中定义一个IAccountService类型的属性,使用注解方法注入,但是存在一些问题
Spring整合junit

二、问题分析

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整合junit