spring之单元测试:JUnit

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 【1月更文挑战第16天】一、整合JUnit51、搭建子模块2、引入依赖3、添加配置文件4、添加java类5、测试二、整合JUnit41、添加依赖2、测试

文章目录

前言

一、整合JUnit5

1、搭建子模块

2、引入依赖

3、添加配置文件

4、添加java类

5、测试

二、整合JUnit4

1、添加依赖

2、测试

总结


前言

一、整合JUnit5

1、搭建子模块

2、引入依赖

3、添加配置文件

4、添加java类

5、测试

二、整合JUnit4

1、添加依赖

2、测试


在之前的测试方法中,几乎都能看到以下的两行代码:

ApplicationContextcontext=newClassPathXmlApplicationContext("xxx.xml");
Xxxxxxx=context.getBean(Xxxx.class);

这两行代码的作用是创建Spring容器,最终获取到对象,但是每次测试都需要重复编写。针对上述问题,我们需要的是程序能自动帮我们创建容器。我们都知道JUnit无法知晓我们是否使用了 Spring 框架,更不用说帮我们创建 Spring 容器了。Spring提供了一个运行器,可以读取配置文件(或注解)来创建容器。我们只需要告诉它配置文件位置就可以了。这样一来,我们通过Spring整合JUnit可以使程序创建spring容器了

一、整合JUnit5

1、搭建子模块

搭建spring-junit模块

2、引入依赖

<dependencies><!--spring context依赖--><!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>6.0.2</version></dependency><!--spring对junit的支持相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>6.0.2</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>

3、添加配置文件

beans.xml

<?xmlversion="1.0" encoding="UTF-8"?><beansxmlns="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/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><context:component-scanbase-package="com.gedeshidai.spring6.bean"/></beans>

copy日志文件:log4j2.xml

4、添加java类

packagecom.gedeshidai.spring6.bean;
importorg.springframework.stereotype.Component;
@ComponentpublicclassUser {
publicUser() {
System.out.println("run user");
    }
}

5、测试

importcom.gedeshidai.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;
importorg.springframework.test.context.junit.jupiter.SpringJUnitConfig;
//两种方式均可//方式一//@ExtendWith(SpringExtension.class)//@ContextConfiguration("classpath:beans.xml")//方式二@SpringJUnitConfig(locations="classpath:beans.xml")
publicclassSpringJUnit5Test {
@AutowiredprivateUseruser;
@TestpublicvoidtestUser(){
System.out.println(user);
    }
}

二、整合JUnit4

JUnit4在公司也会经常用到,在此也学习一下

1、添加依赖

<!-- junit测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>

2、测试

importcom.gedeshidai.spring6.bean.User;
importorg.junit.Test;
importorg.junit.runner.RunWith;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.test.context.ContextConfiguration;
importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:beans.xml")
publicclassSpringJUnit4Test {
@AutowiredprivateUseruser;
@TestpublicvoidtestUser(){
System.out.println(user);
    }
}

总结

以上就是spring之单元测试:JUnit的相关知识点,希望对你有所帮助。

积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

相关文章
|
1天前
|
Java 测试技术 API
Spring Boot 单元测试 0基础教程
Spring Boot 单元测试 0基础教程
8 0
|
3天前
|
测试技术
测试基础 Junit单元测试框架
测试基础 Junit单元测试框架
11 2
测试基础 Junit单元测试框架
|
11天前
|
Java 测试技术 Maven
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
|
16天前
|
安全 Java 测试技术
Spring Boot 自动化单元测试类的编写过程
企业开发不仅要保障业务层与数据层的功能安全有效,也要保障表现层的功能正常。但是我们一般对表现层的测试都是通过postman手工测试的,并没有在打包过程中代码体现表现层功能被测试通过。那么能否在测试用例中对表现层进行功能测试呢?答案是可以的,我们可以使用MockMvc来实现它。
47 0
|
17天前
|
Java 测试技术 开发者
[AIGC] 使用Spring Boot进行单元测试:一份指南
[AIGC] 使用Spring Boot进行单元测试:一份指南
|
22天前
|
存储 安全 Java
第9章 Spring Security 的测试与维护 (2024 最新版)(下)
第9章 Spring Security 的测试与维护 (2024 最新版)
21 1
|
1月前
|
IDE Java 测试技术
使用JUnit进行单元测试:提高Java Web应用的稳定性和可靠性
【4月更文挑战第3天】本文介绍了JUnit,一个广泛使用的Java单元测试框架,由Kent Beck和Erich Gamma创建。JUnit核心特性包括注解、断言、测试套件、测试监听器和异常测试。在Java Web应用中,单元测试主要针对模型层。使用JUnit测试涉及设置环境、编写测试类、标记测试方法及运行和分析结果。单元测试能提早发现问题、简化调试、保证代码质量、促进重构并作为实时文档。掌握JUnit对提升软件质量和效率至关重要。
|
2月前
|
IDE Java 测试技术
Junit 单元测试
JUnit是Java常用的单元测试框架,简化了测试用例的编写和执行。其特点包括简单注解、自动化测试、可扩展性、灵活性及与IDE的集成。使用方法涉及创建测试类、利用注解如@Test、@BeforeEach等管理测试生命周期,以及使用各种断言方法验证结果。此外,JUnit支持参数化测试以覆盖更多输入组合,并能与Maven、Gradle等构建工具集成,提升测试效率和项目管理。
43 1
|
2月前
|
Java 测试技术 Spring
Spring Boot 基于 JUnit 5 实现单元测试
Spring Boot 基于 JUnit 5 实现单元测试
29 0
|
4月前
|
Java 测试技术
JUnit 4 单元测试
单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷。 线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培养自己在日常开发中写单元测试的能力是很有必要的。无论是对自己的编码能力的提高,还是项目质量的提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 4 的基础认识和使用来编写单元测试,希望同样对你有所帮助。