【Java Web】-> Spring 5 -> Spring 5 新功能 -> 整合 JUnit 5 单元测试框架

Ⅰ 前言

Spring 基础文章回顾:

【Java Web】-> Spring 5 -> Spring 的下载 & 第一个样例

【Java Web】 -> Spring 5 -> IOC 底层原理

【Java Web】 -> Spring 5 ->IOC 操作 -> Bean 管理 ->关于 IOC 的一切就在这里了

【Java Web】-> Spring 5 -> AOP

【Java Web】-> Spring 5 -> JdbcTemplate

【Java Web】 -> Spring 5 -> Spring TX -> 详解事务管理

【Java Web】-> Spring 5 -> Spring 5 新功能 -> 对 Log4j2 日志的整合

Spring 5 支持了对 JUnit5 的整合,这篇文章将分别演示一下对 JUnit4 和 JUnit5 的整合。

Ⅱ Spring 整合 JUnit4

在我的 Spring 前面的基础文章中,我们的单元测试都是这么写的:
在这里插入图片描述
每次都需要根据配置文件,或者是配置类,得到 ApplicationContext 对象,然后根据这个对象来得到我们需要的类对象,每次都要写这两行。

使用对 JUnit 框架整合的话,将会更方便地进行单元测试。

首先我们需要引入一个依赖:
在这里插入图片描述
对应的 Maven为:

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.6.RELEASE</version>
            <scope>test</scope>
        </dependency>

然后我们可以创建一个测试类,使用注解方式完成。

在这里插入图片描述
然后我们可以得到 UserService 对象,直接使用 IOC 的@Autowired 注解就可以了。
在这里插入图片描述
下面我们来写测试方法。
在这里插入图片描述
直接调用 service 的方法就可以了,这样就避免了之前的测试方式每次都要加载配置文件然后获得对象。

Ⅲ Spring 整合 JUnit5

首先我们先引入 JUnit5 的 jar 包。

        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.3.1</version>
            <scope>test</scope>
        </dependency>

JUnit5 区别于 JUnit4 的是上面的注解,不再是 @RunWith 而是 @ExtendWith
在这里插入图片描述
注意 JUnit5 的测试方法的注解 @Test 和 JUnit4 是不同的。
在这里插入图片描述
在这里插入图片描述
JUnit5 中还有一个复合注解,就不需要写两个注解了。效果和上面是一样的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45627684/article/details/114225442