springboot整合junit-用于测试用例

package impl;public interface BookDao {public void save();
}

 第一步:打开软件,点击file,点击new 然后选择module,在右侧选择springboot

第二步:选择配置和JDK以及java版本

①选择maven类型

②选择JDK1.8版本

③选择java8版本

④选择jar包类型

http://t.csdnimg.cn/XeplRhttp://t.csdnimg.cn/XeplR


第三步:选择加载配置,什么都不用选!,直接create

之后我们稍等一会,让他建立项目!~

可以看到,非常的简洁!

新建如下目录:包括BookDaoImpl和BookDao文件

①BookDaoImpl文件

package com.example.dao.impl;import com.example.dao.BookDao;
import org.springframework.stereotype.Repository;//作用就是声明自己这个为bean文件@Repositorypublic class BookDaoImpl implements BookDao {@Overridepublic void save() {System.out.println("saving~~~~");}
}

②BookDao文件

package com.example.dao;import org.springframework.stereotype.Repository;@Repository
public interface BookDao {public void save();
}

第四步:开始测试

1:注入你要测试的对象

2:执行你要测试对象的方法

如下:

代码为:

package com.example;import com.example.dao.BookDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class Demo1ApplicationTests {
//1:注入你要测试的对象@Autowiredprivate BookDao bookdao;@Testvoid contextLoads() {bookdao.save();}}

在test里面右键点击运行

也可以点击小开始按钮:

运行结果:

注意点:

如果遇到: Could not autowire. No beans of XXX 的情况:

原因是因为程序“扫描不到”你用@Repository所声明的beans文件,所以我们可以在程序刚开始加载的时候扫描就ok了!

具体如下:

在Application里面写上:

导包:

import org.springframework.context.annotation.ComponentScan;

注解:

这个就是你刚刚扫描不到的那个beans文件所在的文件夹位置,你要改成你自己的。

@ComponentScan("com.example.dao.impl")

即:

之后再在test里面点击运行:

整个源项目完整内容如下:

链接:https://pan.baidu.com/s/1GKWRAO6lVyZbeQleX24qAg?pwd=uyb9 
提取码:uyb9 
--来自百度网盘超级会员V5的分享

 运行我打包的项目为了能够正常运行(需要兼容maven以及java版本),具体的调整方法看我博客:http://t.csdnimg.cn/Uovig

好啦,希望能够帮助到大家!

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

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

相关文章

极限两边夹定理

极限两边夹定理 1. 定义 两边夹定理 (又称作夹逼定理) 说的是,如果一个函数 f f f 被夹在函数 g g g 和函数 h h h 之 间,当 x → a x \rightarrow a x→a 时,这两个函数 g g g 和 h h h 都收敛于同一个极限 L L L,那么当…

全国区块链职业技能大赛样题第9套后端源码

后端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746050 前端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746216 智能合约+数据库表设计:https://blog.csdn.net/Qhx20040819/article/details/140746646 项目预览 登录 用户管理

LRTimelapse Pro 7.0 安装教程

软件介绍 LRTimelapse Pro (LRT) 是一款专业的延迟摄影编辑渲染工具,具有高清输出、简单易用、无缝转换等特点。是非常强大的一款延迟摄影工具!LRTimelapse Pro可以将您的影片提升一个水准。 程序可以配合 Adobe Lightroom, Adobe Camera RAW 和 Adobe…

2024年孝感中级职称报名开始了吗?

2024年孝感中级职称申报终于开始了,之前参加过水测的小伙伴们,开始准备评审了 2024年孝感本批次申报时间:中级、初级职称网上申报时间:2024年8月1日至8月31日。 注意:个人通过“湖北省职称评审管理信息系统”申报,须先…

Llama 3.1 重磅发布,登顶开源大模型王座!

7月23日,Meta正式发布迄今为止最强大的开源模型——Llama 3.1 405B,同时发布了全新升级的Llama 3.1 70B和8B模型。 Meta在正式发布里也附上了长达92页的论文《The Llama 3 Herd of Models》,揭示了Llama 3模型的技术和训练细节。 论文地址&am…

Jacoco 单元测试配置

前言 编写单元测试是开发健壮程序的有效途径,单元测试写的好不好可以从多个指标考量,其中一个就是单元测试的覆盖率。单元测试覆盖率可以看到我们的单元测试覆盖了多少代码行、类、分支等。查看单元测试覆盖率可以使用一些工具帮助我们计算,…

图解RocketMQ之生产者如何进行消息重试

大家好,我是苍何。 上一篇留了一个小问题,如果消费者出现异常,消费某一条消息失败,这时候 RocketMQ 会怎么处理呢? 你可能会用你聪明绝顶的脑袋瓜子想,苍何你是不是傻,失败了肯定重试啊&#…

单据新增,限制单据栏位的录入值,设置过滤条件

希望通过开发实现 单据头的组织栏位,只能选择101开头的组织,实现的效果如下: 代码如下: using Kingdee.BOS.Util; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System.ComponentModel;namespace cux.button.test {…

基于opencv的人脸识别(实战)

前言 经过这几天的学习,我已经跃跃欲试了,相信大家也是,所以我决定自己做一个人脸识别程序。我会把自己的思路和想法都在这篇博客内讲清楚,大家可以当个参考,🌟仅供学习使用🌟。 &#x1f31f…

分享10个好用的论文编辑服务/平台

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 如果您对自己的学术写作能力存在怀疑,论文编辑服务/平台或许能提供帮助。为了帮助您做出更好的选择,今天的分享我们列出了2024年“全网”最好用的10个论文编辑服…

怎么样建设数字化车间?

建设数字化车间是一个综合性的过程,旨在通过现代信息技术、智能设备和自动化技术对车间进行优化改造,提高生产效率和产品质量。以下是一些关键步骤和要点,用于指导数字化车间的建设: 一、明确建设目标和需求 分析现状&#xff1…

【轨物方案】开关柜在线监测物联网解决方案

随着物联网技术的发展,电力设备状态监测技术也得到了迅速发展。传统的电力成套开关柜设备状态监测方法主要采用人工巡检和定期维护的方式,这种方法不仅效率低下,而且难以保证设备的实时性和安全性。因此,基于物联网技术的成套开关…

Mybatis-Plus-常用的注解:@TableName、@TableId、@TableField、@TableLogic

1、TableName 经过之前的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表由此得出结论,MyBatis-Plus在确定操作…

Python:随机数、随机选择的应用

step1:导入 导入的random相当于是创建了random文件里的的一个对象 import random random() 产生0~1随机数 randint(a,b)产生a~b的整数 闭区间,可以取到a,b random.choice(touple_name)从touple_name(数组、列表..)中随机选择元素 import rand…

Java人力资源招聘社会校招类型招聘小程序

✨💼【职场新风尚!解锁人力资源招聘新神器:社会校招类型招聘小程序】✨ 🎓【校招新体验,一键触达梦想企业】🎓 还在为错过校园宣讲会而懊恼?别怕,社会校招类型招聘小程序来救场&am…

L2TP VPN

目录 一、实验目的 二、实验环境 三、实验内容 1、实验规划: 2、关键内容: 3、实施步骤: 四、实验总结 一、实验目的 1、了解L2TP的实现原理; 2、掌握Client-Initiated场景下的L2TP的配置。 二、实验环境 华为eNSP模拟器…

pytest 测试框架中 setup、teardown 方法不生效

pytest 测试框架中 setup、teardown 方法不生效 源码有改动: 将 setup、teardown改为:setup_method、teardown_method 可生效 def setup_method(self):print("测试用例执行前的初始化,如:打开浏览器,加载网页...")def setup_class…

MybatisPlus(一)

目录 入门: 使用MybatisPlus的基本步骤: 常见注解 常见配置 总结 核心功能 条件构造器 自定义SQL Service接口 IService接口基本用法 IService的Lambda查询 IService的Lambda更新 IService批量新增 入门: 使用MybatisPlus的基本步…

WebSocket程序设计

协议说明 WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。Websocket主要用在B/S架构的应用程序中,在 WebSocket API 中,浏览器和服务器只…

2024全面解析:从零基础到精通的大模型学习路线,非常详细零基础入门到精通,收藏我这一篇就够了

大模型学习路线规划 第一阶段:基础理论入门 目标:了解大模型的基本概念和背景。 内容: 人工智能演进与大模型兴起。 大模型定义及通用人工智能定义。 GPT模型的发展历程。 第二阶段:核心技术解析 目标:深入学习大模…