Spring——spring整合JUnit

news2024/11/26 0:34:48

 

JUnit定义:

Junit测试是程序员测试,即所谓 白盒测试 ,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。 Junit是一套框架,继承TestCase类,就可以用Junit进行 自动测试 了。 

环境准备:

在Spring——Spring整合Mybatis(XML和注解两种方式)_北岭山脚鼠鼠的博客-CSDN博客

代码的基础先导入两个新坐标

 <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.18.RELEASE</version>
        </dependency>

在Test目录下新建业务层的测试类StudentServiceTest.java,加上两个注解

一个类运行器的注解 @RunWith(SpringJUnit4ClassRunner.class)

一个是spring配置类的注解 @ContextConfiguration(classes = SpringConfig.class)

注意:test下的文件目录需要和上面的文件目录结构一样

然后就可以写测试方法了,测试方法上面需要加@Test注解

下面解释来自@Test 测试注解的作用_test注解怎么用_-Spr丶虔的博客-CSDN博客
@Test注解是JUnit测试的基础,JUnit 4的优势就在于支持了注解。
@Test的使用 是该方法可以不用main方法调用就可以测试出运行结果,是一种测试方法,
一般函数都需要有main方法调用才能执行,注意被测试的方法必须是public修饰的。

在代码中测试业务层一个实现类的功能,从IOC容器中取出bean对象用 @Autowired进行自动装配,然后下面可以使用它的方法了

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class StudentServiceTest {

    @Autowired
    private StudentService studentService;

    @Test
    public void testFindAll(){
        System.out.println(studentService.findAll());

    }

}

正常输出  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/403233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)

目录 一、什么是Selenium&#xff1f; 二、自动化测试框架 三、自动化框架的设计和实现 四、需要改进的模块 五、总结 总结感谢每一个认真阅读我文章的人&#xff01;&#xff01;&#xff01; 重点&#xff1a;配套学习资料和视频教学 一、什么是Selenium&#xff1f; …

SpringBoot bean 加载顺序如何查看(源码解读)

背景 SpringBoot bean 加载顺序如何查看&#xff0c;想看加载了哪些bean&#xff0c; 这些bean的加载顺序是什么&#xff1f; 实际加载顺序不受控制&#xff0c;但会有一些大的原则&#xff1a; 1、按照字母顺序加载&#xff08;同一文件夹下按照字母数序&#xff1b;不同文件…

界面开发(4)--- PyQt5实现打开图像及视频播放功能

PyQt5创建打开图像及播放视频页面 上篇文章主要介绍了如何实现登录界面的账号密码注册及登录功能&#xff0c;还简单介绍了有关数据库的连接方法。这篇文章我们介绍一下如何在设计的页面中打开本地的图像&#xff0c;以及实现视频播放功能。 实现打开图像功能 为了便于记录实…

CobaltStrike攻击payload(有效载荷)介绍

HTA文档Office宏payload生成器有效载荷生成器windows可执行程序windows可执行程序windows stageless生成所有有效载荷HTA文档该模块为HTML Application attack&#xff08;HTML应用攻击&#xff09;。简单来说&#xff0c;就是这个包生成一个运行有效负载的HTML应用程序该模块下…

TCP UPD详解

文章目录TCP UDP协议1. 概述2. 端口号 复用 分用3. TCP3.1 TCP首部格式3.2 建立连接-三次握手3.3 释放连接-四次挥手3.4 TCP流量控制3.5 TCP拥塞控制3.6 TCP可靠传输的实现3.7 TCP超时重传4. UDP5.TCP与UDP的区别TCP UDP协议 1. 概述 TCP、UDP协议是TCP/IP体系结构传输层中的…

Flink 定时加载数据源

一、简介 flink 自定义实时数据源使用流处理比较简单&#xff0c;比如 Kafka、MQ 等&#xff0c;如果使用 MySQL、redis 批处理也比较简单 如果需要定时加载数据作为 flink 数据源使用流处理&#xff0c;比如定时从 mysql 或者 redis 获取一批数据&#xff0c;传入 flink 做处…

三、HTTP协议之三

文章目录一、HTTPS协议概述二、 HTTPS使用成本三、从HTTP到HTTPS四、HTTP协议的瓶颈五、双工通信的websocket六、HTTP2.0一、HTTPS协议概述 二、 HTTPS使用成本 HTTPS对性能的影响 https之所有安全是因为使用TLS(SSL)来加密传输. 三、从HTTP到HTTPS 了解个大概 第一步&#x…

react:二、jsx语法规则

目录 1.传输数据的xml和json格式举例 2.jsx语法规则 3.js语句跟js表达式的区别 4.jsx的小练习 1.传输数据的xml和json格式举例 2.jsx语法规则 1.定义虚拟DOM时&#xff0c;不要写引号。 2.标签中混入JS表达式时要用{}。 3.样式的类名指定不要用class&#xff0c;要用cla…

第十一章 寡头垄断市场中的企业决策

寡头垄断市场的定义、条件 寡头垄断市场&#xff1a;少数几家企业控制了某一行业的市场&#xff0c;供给该行业生产的大部分产品 寡头垄断市场应具备的条件&#xff1a; 一个行业或市场中&#xff0c;只有少数几家企业企业之间存在着相互制约、相互依存的关系新企业进入行业比…

golang大杀器GMP模型

golang 大杀器——GMP模型 文章目录golang 大杀器——GMP模型1. 发展过程2. GMP模型设计思想2.1 GMP模型2.2 调度器的设计策略2.2.1 复用线程2.2.2 利用并行2.2.3 抢占策略2.2.4 全局G队列2.3 go func()经历了那些过程2.4 调度器的生命周期2.5 可视化的CMP编程2.5.1 trace方式2…

【LeetCode】33. 搜索旋转排序数组、1290. 二进制链表转整数

作者&#xff1a;小卢 专栏&#xff1a;《Leetcode》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 目录 33. 搜索旋转排序数组 1290. 二进制链表转整数 33. 搜索旋转排序数组 33. 搜索旋转排序…

JavaEE简单示例——Bean的实例化

简单介绍&#xff1a; 在我们之前使用某个对象&#xff0c;那么就要创建这个类的对象&#xff0c;创建对象的过程就叫做实例化。对于Spring来说&#xff0c;实例化Bean的方式有三种&#xff0c;分别是构造方法实例化&#xff0c;静态方法实例化&#xff0c;实例工厂实例化。我…

哪款手推式洗地机好用?2023洗地机推荐

虽然现在市面上的洗地机层出不穷&#xff0c;但是无论洗地机怎么变&#xff0c;关于洗地机的选择看准吸力、除菌、续航、清洁力这几点就够了。因此&#xff0c;一款好用的洗地机必须要拥有良好的清洁力和续航时间&#xff0c;最好还拥有除菌等细节功能。那么下面就让我们一起来…

【Linux】文件系统详解

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享C/C相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…

Unity脚本复习

1.在Project面板中显示和创建的每一个脚本其实都是一个类&#xff0c;当我们把脚本挂载到Hierarchy层级中的游戏物体时&#xff0c;其实我们就实现了将脚本类实例化为一个脚本组件&#xff08;对象&#xff09;的过程 2.在游戏运行时&#xff0c;场景加载&#xff0c;游戏对象…

云边端协同时序数据库的挑战与解决方案

现今&#xff0c;时序数据库在经济金融、环境监控、医疗生物等多个领域有着极为广泛的需求。其中&#xff0c;在环境监控等领域&#xff0c;时序数据库主要部署在云边端架构中。但如何实现云边端协同是目前TSDB所面临的巨大挑战。由于云、边和端的计算、存储资源状况和对数据管…

【LeetCode】剑指 Offer(21)

目录 题目&#xff1a;剑指 Offer 39. 数组中出现次数超过一半的数字 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;剑指 Offer 40. 最小的k个数 -…

论文阅读和分析:A Tree-Structured Decoder for Image-to-Markup Generation

目录1.主要内容&#xff1a;2.树解码器3、损失函数4、结论&#xff1a;参考&#xff1a;1.主要内容&#xff1a; &#xff08;1、提出创新的树结构解码器来表示树、输出树、优化基于注意力的编解码框架&#xff1b; &#xff08;2、设计一个问题说明特别是在复杂结构时字符解…

AidLux AI 应用案例悬赏征集活动正式启动!

ChatGPT爆火之后&#xff0c;AI领域的人才需求迎来了疯狂增长&#xff0c;AI学习也一跃成为业界大热门。 但AI囊括知识广、学习周期长&#xff0c;要克服理论、实战等多重阻碍并不容易。 而持续降低AI学习门槛是我们一直在做的事情。 为此&#xff0c;我们举办了多期AidLux …

R语言基础(五):流程控制语句

R语言基础(一)&#xff1a;注释、变量 R语言基础(二)&#xff1a;常用函数 R语言基础(三)&#xff1a;运算 R语言基础(四)&#xff1a;数据类型 6.流程控制语句 和大多数编程语言一样&#xff0c;R语言支持选择结构和循环结构。 6.1 选择语句 选择语句是当条件满足的时候才执行…