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

Spring整合Junit(4、5)

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

ApplicationContext context = new classPathXmlApplicationContext("xxx.xm");

XXXX XXX = context.getBean(Xxxx.cTass);


这两行代码的作用是创建Spring容器,最终获取到对象,但是每次测试都需要重复编写。

针对上述问题,我们需要的是程序能自动帮我们创建容器。我们都知道JUnit无法知晓我们是否使用了 Spring 框架,更不用说帮我们创建Spring 容器了。

Spring提供了一个运行器,可以读取配置文件(或注解)来创建容器。我们只需要告诉它配置文件位置就可以了。这样就能通过Spring整合JUnit可以使程序创建spring容器

整合Junit5

1.引入相关依赖

<!--        spring整合Junit相关依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>6.0.2</version></dependency><!--        junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency>

2.创建实体类

@Component
public class User {public void run(){System.out.println("user...");}
}

3.配置bean.xml文件

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--    开启组件扫描--><context:component-scan base-package="com.yogurt.spring6.junit"></context:component-scan></beans>

4.测试

@SpringJUnitConfig(locations = "classpath:bean.xml")
public class SpringTestJunit5 {//注入@Autowiredprivate User user;//测试@Testpublic void testUser(){System.out.println(user);user.run();}}

注:@SpringJUnitConfig(locations = "classpath:bean.xml")可以替换成

@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:bean.xml")

整合Junit4

 1.引入相关依赖

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency>

2.创建实体类

@Component
public class User {public void run(){System.out.println("user...");}
}

3.配置bean.xml文件

<?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--    开启组件扫描--><context:component-scan base-package="com.yogurt.spring6.junit"></context:component-scan></beans>

4.测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:bean.xml")
public class SpringTestJunit4 {@Autowiredprivate User user;@Testpublic void testUser(){System.out.println(user);user.run();}
}

 

 

 

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

相关文章:

  • Linux 程序开发流程 / 基本开发工具 / Vim / GCC工具链 / Make 工具 / Makefile 模板
  • 2023.11.13【读书笔记】丨生物信息学与功能基因组学(第六章 多重序列比对 下)
  • 【vue】虚拟dom的原理是什么?手写实现虚拟dom !
  • CentOS 7 双网卡绑定热备 —— 筑梦之路
  • Qt绘制简单图表
  • CCLink转Modbus TCP网关_MODBUS网口设置
  • Vux购物车案例
  • 浅析网络协议-HTTP协议
  • 启动Docker服务后显示Docker Engine stopped
  • Centos7 升级到 Centos8 教程以及关于dnf包管理工具的若干问题解决方案
  • 计算机网络技术(一)
  • redis监听key失效
  • echart宽度100px原因(解决el-tabs里的echarts图表宽度不自适应,只有100px问题)
  • 【使用教程】在Ubuntu下PMM60系列一体化伺服电机通过PDO跑循环同步位置模式详解
  • 【机器学习】七、降维与度量学习
  • Yolov5 + 界面PyQt5 +.exe文件部署运行
  • 工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点
  • MySQL-基础篇
  • 1.Osmdroid概述
  • Excel表列名称
  • ORDER BY limit 10比ORDER BY limit 100更慢
  • aws亚马逊云:置以使用 Amazon EC2!!!
  • torch.cat()、 torch.add()、torch.subtract()、torch.subtract()和torch.div()函数详解和示例
  • jetsonTX2 nx配置tensorRT加速yolov5推理
  • <<C++primer>>函数模板与类模板相关知识点整理
  • 一小时学习 Git 笔记
  • 简单漂亮的登录页面
  • Leetcode-145 二叉树的后序遍历
  • 详解JDBC
  • 江门車馬炮汽车金融中心 11月11日开张