Loading

Spring 整合 Junit 单元测试类

普通 Junit 测试问题

在普通的测试类中,需要开发者手动加载配置文件并创建 Spring 容器,然后通过 Spring 相关 API 获得Bean实例;如果不这么做,那么无法从容器中获得对象。

// 获取到 spring 上下文对象,借助上下文对象可以获取到 IOC 容器中的 bean 对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
// 使用上下文对象从容器中获取    到 bean 对象
IUserService userService = (IUserService) applicationContext.getBean("userService");

我们可以 SpringJunit 负责创建 Spring 容器来简化这个操作,开发者可以直接在测试类注入Bean实例;但是需要将配置文件的名称告诉它。

Spring 整合 Junit

步骤分析

  1. 导入 Spring 集成 Junit的坐标
    此处需要注意的是, spring5 及上版本要求 Junit 的版本必须是 4.12 及以上
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.3.10</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>
  1. 使用 @RunWith 注解替换原来的运行器
@RunWith(SpringJUnit4ClassRunner.class)`
@RunWith 指定 Junit 的运行环境 
SpringJUnit4ClassRunner 是 Spring 提供的做为 Junit 运行环境的类 
  1. 使用 @ContextConfiguration 指定配置文件或配置类
    xml 开发
@ContextConfiguration({"classpath:applicationContext.xml"})

纯注解开发
@ContextConfiguration(classes = {核心配置类的class})

  1. 使用 @Autowired 注入需要测试的对象
  2. 创建测试方法进行测试
posted @ 2021-09-26 20:32  白日醒梦  阅读(79)  评论(0编辑  收藏  举报