Spring6详细教程(八)--->Spring6整合JUnit5

简介: 1. 学习视频在b站搜索动力节点即可!!! 2. 从 0 开始学 Java 知识之 Java-学习路线 中的《Spring6整合JUnit5》,不定期更新所学笔记


17.1 Spring对JUnit4的支持
准备工作:
单元测试:
执行结果如下:

TESTS PASSED: 1 OF 1 TEST - 5MS

C:\DEV\JAVA\JDK-17.0.4\BIN\JAVA.EXE

10月 24, 2022 4:56:26 下午 ORG.SPRINGFRAMEWORK.TES

信息:

LOADED

ED DEFAULT TESTEXECUTIONLISTENER

CLASS

U

10月 24, 2022 4:56:26 下午

S 下午 ORG.SPRINGFRAMEWORK.TEST

信息:USING TESTEXECUTIONLISTENERS:

[ORG.SPRINGFRA

张三


Spring提供的方便主要是这几个注解:
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:spring.xml")
在单元测试类上使用这两个注解之后,在单元测试类中的属性上可以使用@Autowired。比较方便。
17.2 Spring对JUnit5的支持
引入JUnit5的依赖,Spring对JUnit支持的依赖还是:spring-test,如下:

pom.xml

XML

复制代码


<?xml version="1.0" encoding="UTF-8"?>

<projectxmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>


<groupId>com.powernode</groupId>

<artifactId>spring6-015-junit</artifactId>

<version>1.0-SNAPSHOT</version>

<packaging>jar</packaging>


<!--仓库-->

<repositories>

<!--spring里程碑版本的仓库-->

<repository>

<id>repository.spring.milestone</id>

<name>Spring Milestone Repository</name>

<url>https://repo.spring.io/milestone</url>

</repository>

</repositories>


<dependencies>

<!--spring context依赖-->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>6.0.0-M2</version>

</dependency>

<!--spring对junit的支持相关依赖-->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</artifactId>

<version>6.0.0-M2</version>

</dependency>

<!--junit5依赖-->

<dependency>

<groupId>org.junit.jupiter</groupId>

<artifactId>junit-jupiter</artifactId>

<version>5.9.0</version>

<scope>test</scope>

</dependency>

</dependencies>


<properties>

<maven.compiler.source>17</maven.compiler.source>

<maven.compiler.target>17</maven.compiler.target>

</properties>


</project>

单元测试类

Java

复制代码

packagecom.powernode.spring6.test;


importcom.powernode.spring6.bean.User;

importorg.junit.jupiter.api.Test;

importorg.junit.jupiter.api.extension.ExtendWith;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.test.context.ContextConfiguration;

importorg.springframework.test.context.junit.jupiter.SpringExtension;



@ExtendWith(SpringExtension.class)

@ContextConfiguration("classpath:spring.xml")

publicclassSpringJUnit5Test{


   @Autowired

privateUseruser;


   @Test

publicvoidtestUser(){

System.out.println(user.getName());

}

}

在JUnit5当中,可以使用Spring提供的以下两个注解,标注到单元测试类上,这样在类当中就可以使用@Autowired注解了。
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:spring.xml")

相关文章
|
5天前
|
Java Spring 容器
Spring系列文章:Spring6集成MyBatis3.5
Spring系列文章:Spring6集成MyBatis3.5
|
5天前
|
监控 Java API
掌握 Spring Boot AOP:使用教程
Spring Boot 中的面向切面编程(AOP)为软件开发提供了一种创新方法,允许开发者将横切关注点与业务逻辑相分离。这不仅提高了代码的复用性和可维护性,而且还降低了程序内部组件之间的耦合度。下面,我们深入探讨如何在 Spring Boot 应用程序中实践 AOP,以及它为项目带来的种种益处。
|
5天前
|
Java 测试技术 API
Spring Boot 单元测试 0基础教程
Spring Boot 单元测试 0基础教程
12 0
|
5天前
|
Java 关系型数据库 MySQL
优质全套Spring全套教程三
优质全套Spring全套教程三
|
5天前
|
XML Java 数据格式
优质全套Spring全套教程二
优质全套Spring全套教程二
|
5天前
|
XML Java 数据格式
优质全套Spring全套教程一
优质全套Spring全套教程一
|
5天前
|
XML Java 数据格式
|
5天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
62 0
|
5天前
|
缓存 安全 Java
Spring Boot 面试题及答案整理,最新面试题
Spring Boot 面试题及答案整理,最新面试题
142 0
|
5天前
|
存储 JSON Java
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
SpringBoot集成AOP实现每个接口请求参数和返回参数并记录每个接口请求时间
49 2