当前位置: 首页 > news >正文

系列六、Spring整合单元测试

一、概述

        Spring中获取bean最常见的方式是通过ClassPathXmlApplicationContext 或者 AnnotationConfigApplicationContext的getBean()方式获取bean,那么在Spring中如何像在SpringBoot中直接一个类上添加个@SpringBootTest注解,即可在类中注入自己想要测试的bean呢?解决方案是有的,spring-test即提供了这个功能。Spring整合单元测试步骤如下:

二、Spring整合Junit单元测试

2.1、整体结构

2.2、pom

<project xmlns="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>org.star</groupId><artifactId>spring5x06-mybatis</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>spring5x06-mybatis</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--spring基本依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.2.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.5.RELEASE</version></dependency><!-- 数据源 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.27</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.11</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.1.0</version></dependency><!-- 普通maven项目中使用Sl4j注解 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.10</version></dependency><!-- aop --><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.1</version></dependency><dependency><groupId>aopalliance</groupId><artifactId>aopalliance</artifactId><version>1.0</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.19</version></dependency><!-- 工具 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.3</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.11</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.22</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.1</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency></dependencies><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory></resource></resources></build></project>

2.3、使用

/*** @Author : 一叶浮萍归大海* @Date: 2023/11/23 19:12* @Description: Spring整合单元测试*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class SpringJunitTest {@Resourceprivate UserMapper userMapper;@Resourceprivate UserService userService;@Testpublic void userMapperTest() {List<UserDO> userDOS = userMapper.listAllUser();System.out.println("userMapper = " + userMapper);System.out.println("userDOS = " + userDOS);}@Testpublic void userServiceTest() {List<UserDO> userDOS = userService.listAllUser();System.out.println("userService = " + userService);System.out.println("userDOS = " + userDOS);}}

http://www.lryc.cn/news/247049.html

相关文章:

  • 如何把 Oracle 19C RAC+DG加入到ORACLE EM 13C监控
  • Go 编程语言详解:用途、特性、与 Python 和 C++ 的比较
  • 后缀数组
  • 矩阵的初等变换
  • Redis面试题:分片集群相关问题
  • leetcode设计循环队列(链表方式来实现)
  • 什么是高级语言、机器语言、汇编语言?什么是编译和解释?
  • 简要介绍Spring原生框架与Spring是轻量级框架的原因
  • 成为AI产品经理——AI产品经理工作全流程
  • git commit 撤销的三种方法
  • Linux系统编程 day06 进程间通信
  • 血的教训--redis被入侵之漏洞利用复现--总览
  • C语言矩阵乘积(ZZULIOJ1127:矩阵乘积)
  • 用windows自带的FTP服务器实现同一局域网建立ftp服务器实现文件共享的详细步骤
  • SpringBoot——模板引擎及原理
  • java开发中各个环境的适用场景
  • 【Java程序员面试专栏 专业技能篇】Java SE核心面试指引(二):面向对象思想
  • Redis 反序列化失败
  • uniapp 导航分类
  • Vue + Element UI 实现复制当前行数据功能及解决复制到新增页面组件值不更新的问题
  • 智慧化工~工厂设备检修和保全信息化智能化机制流程
  • 【LeetCode热题100】【哈希】字母异位词分组
  • 基于C#实现Bitmap算法
  • 科学与工程计算基础(数值计算)知识点总结
  • oracle查询开始时间和结束时间之间的连续月份
  • 通过 python 脚本迁移 Redis 数据
  • nodejs之express学习(1)
  • 【LeetCode】121. 买卖股票的最佳时机
  • Vue3-VueRouter4路由语法解析
  • ChromeDriver最新版本下载与安装方法