Spring之单元测试

Spring提供了一个运行器,可以读取配置文件(或注解)来创建容器。

1 整合Junit5

1.1 引入依赖
<dependencies>
    <!--spring context依赖-->
    <!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.1</version>
    </dependency>

    <!--spring对junit的支持相关依赖-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>6.1.1</version>
    </dependency>

    <!--junit5测试-->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.0</version>
    </dependency>

    <!--log4j2的依赖-->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.19.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j2-impl</artifactId>
        <version>2.19.0</version>
    </dependency>
</dependencies>
1.2 配置扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <context:component-scan base-package="com.giser.spring6" />

</beans>
1.3 基础实体
package com.giser.spring6.junit5;

import org.springframework.stereotype.Component;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:37:52
 */
@Component
public class User {
   
    public User() {
   
        System.out.println("run user");
    }
}
1.4 测试
package com.giser.spring6.junit5;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:41:24
 */
// 方式二
//@ExtendWith(SpringExtension.class)
//@ContextConfiguration("classpath:spring-bean.xml")
// 方式一 推荐
@SpringJUnitConfig(locations = "classpath:spring-bean.xml")
public class SpringJunit5Test {
   

    @Autowired
    private User user;

    @Test
    public void testUser(){
   
        System.out.println(user);
    }

}

2 整合Junit4

2.1 引入依赖
<!-- junit测试 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>
2.2 实体
package com.giser.spring6.junit4;

import org.springframework.stereotype.Component;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:37:52
 */
@Component
public class Junit4User {
   
    public Junit4User() {
   
        System.out.println("run junit4User");
    }
}
2.3 测试
package com.giser.spring6.junit4;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:41:24
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-bean.xml")
public class SpringJunit4Test {
   

    @Autowired
    private Junit4User junit4User;

    @Test
    public void testUser(){
   
        System.out.println(junit4User);
    }

}

相关推荐

  1. Spring单元测试

    2024-01-08 09:10:04       56 阅读
  2. spring 单元测试 Junit

    2024-01-08 09:10:04       54 阅读
  3. Spring Boot单元测试

    2024-01-08 09:10:04       50 阅读
  4. spring boot单元测试

    2024-01-08 09:10:04       48 阅读
  5. Spring Boot 单元测试

    2024-01-08 09:10:04       41 阅读
  6. Spring Boot单元测试

    2024-01-08 09:10:04       44 阅读
  7. Spring Boot单元测试

    2024-01-08 09:10:04       32 阅读
  8. Spring Boot单元测试

    2024-01-08 09:10:04       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-08 09:10:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-08 09:10:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-08 09:10:04       82 阅读
  4. Python语言-面向对象

    2024-01-08 09:10:04       91 阅读

热门阅读

  1. 【csharp】依赖注入

    2024-01-08 09:10:04       54 阅读
  2. Mockito+junit5搞定单元测试

    2024-01-08 09:10:04       56 阅读
  3. 无人驾驶游艇

    2024-01-08 09:10:04       58 阅读
  4. 鸡尾酒效应通俗解释,举一个具体的例子。

    2024-01-08 09:10:04       57 阅读
  5. 【设计模式】观察者模式

    2024-01-08 09:10:04       52 阅读
  6. 力扣_day1

    2024-01-08 09:10:04       56 阅读
  7. 指定GPU无效

    2024-01-08 09:10:04       60 阅读
  8. python笔记-自用

    2024-01-08 09:10:04       57 阅读
  9. React07-路由管理器react-router

    2024-01-08 09:10:04       48 阅读
  10. MySQL第一讲:MySQL知识体系详解(P6精通)

    2024-01-08 09:10:04       53 阅读
  11. 企业云安全能力建设的要点

    2024-01-08 09:10:04       54 阅读
  12. es6中箭头函数 原型

    2024-01-08 09:10:04       56 阅读