springboot整合junit-用于测试用例

news2024/11/15 9:20:24
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文件

@Repository

public class BookDaoImpl implements BookDao {

    @Override
    public 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:注入你要测试的对象
    @Autowired
    private BookDao bookdao;
    @Test
    void 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.coloradmin.cn/o/1956842.html

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

相关文章

react中路由懒加载

// 1.引入方法,用于创建路由实例 // createBrowserRouter是用于创建history模式 // createHashRouter是用于创建hash模式 // 路由模式的切换只需要更改创建路由实例的方法就行了,其他地方不需要更改 import { createBrowserRouter,createHashRouter } fr…

deployment

一.deployment rc和rs控制器都是控制pod的副本数量的,但是,他们两个有个缺点,就是在部署新版本pod或者回滚代码的时候,需要先apply资源清单,然后再删除现有pod,通过资源控制,重新拉取新的pod来实…

【Vue3复习】Vite创建项目报错解决

报错: Cannot find package ‘vite’ 出错原因分析 使用命令npm create vuelatest创建项目时,没有按顺序执行以下提示命令 解决 依序执行这三条指令 注意 如果没有执行 npm install 这条指令,直接用VS Code打开项目时,env.d.…

职场英语培训柯桥成人学外语|邮件里别乱用“Dear”,老外才不会这么写!

写邮件是职场上的必修课,而一封好的英语邮件应当从适合的称呼开始。 说到称呼,你的脑子里是不是冒出了一个单词“Dear” 从小我们就被教育写英语作文时,开头先来个Dear,结尾写个Sincerely,简直不要太顺手~ 然&#xff…

HDU1071——The area,HDU1072——Nightmare,HDU1073——Online Judge

目录 HDU1071——The area 题目描述 运行代码 代码思路 HDU1072——Nightmare 题目描述 运行代码 代码思路 HDU1073——Online Judge 题目描述 运行代码 代码思路 HDU1071——The area 题目描述 Problem - 1071 运行代码 #include <iostream> #include &…

CloudWeGo新手教程视频:手把手教你从0到1打造电商商城微服务demo

概要 Gomall 电商项目视频教程&#xff0c;由 CloudWeGo 技术社区出品&#xff0c;旨在帮助开发者掌握 Go 语言项目开发和微服务架构。教程通过演示 CloudWeGo 项目中的 Kitex 和 Hertz 框架&#xff0c;引导 Go 初学者学习常见的技术和开源中间件。 观看教程请访问&#xff…

高效灵活 | 前端利器 Vue.js 是一个构建用户界面的渐进式框架。

Vue.js 是一个构建用户界面的渐进式框架。 官网&#xff1a;https://cn.vuejs.org/ 基本特性 数据驱动&#xff1a;通过响应式机制&#xff0c;实现数据的变化自动触发视图的更新。 组件化架构&#xff1a;高度可复用的组件结构&#xff0c;提升代码组织性和可维护性。 虚拟…

爬虫-实战爬取虎扑ACG帖子

要求如下: 爬取虎扑步行街 ACG 版面的数据,要求使用多线程来并发爬取。范围是第一页的所有帖子,每个帖子包含标题、主题内容和第一页的所有回复内容。最后打印出爬到的所有帖子的标题。 网址是:ACG圈 - 虎扑社区。 针对上面的要求,我们进行分析: 首先是要使用多线程范…

YOLO5项目目录最强解析

YOLO5项目目录解析 YOLOv5 项目目录下的文件和目录的结构&#xff0c;以下是对每个目录和文件的解释&#xff1a; 目录 &#x1f4c1; .github: 存放 GitHub 相关配置和文件&#xff0c;如 GitHub Actions 工作流文件、Issue 模板等&#xff0c;用于自动化构建和持续集成等功…

Java编写SIP协议

1、编写Server代码 package com.genersoft.iot.vmp.sip; import javax.sip.*; import javax.sip.message.*; import javax.sip.header.*; import java.util.*;public class SimpleSipServer implements SipListener {private SipFactory sipFactory;private SipStack sipStack…

神经网络的参数初始化【PyTorch】

文章目录 1、常见初始化方法2、代码2.1、导包&#xff1a;2.2、均匀分布随机初始化2.3、固定初始化2.4、全0初始化2.5、全1初始化2.6、正态分布随机初始化2.7、kaiming 初始化2.8、xavier 初始化2.9、完整代码 3、小节 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专…

哨兵Sentinel-2一些有趣的示例

每天我们都会观察周围的世界。在许多情况下&#xff0c;我们认为我们所看到的事物是不言而喻的&#xff0c;它们只是我们所认为的那样。其他时候&#xff0c;我们会更仔细地分析和询问那些看起来不太熟悉的事物。有时&#xff0c;仅仅改变我们的视觉视角就能提供额外的启发和启…

html实现我的博客文章相册源码

文章目录 1.设计来源1.1 相册界面1.2 相册详细界面1.3 文章界面1.4 文章详细界面1.5 关于我1.6 联系我 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcLeigh 文章地址&#xff1a;http…

轻松上手MYSQL:JSON函数实现高效数据查询与操作

&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索MYSQL字符串函数之旅✨ &#x1f44b; 大家好&#xff01;文本学习和探…

「ETL趋势」定时任务自动化导出Excel/CSV,高效归档业务明细数据

目录 一、Excel/CSV文件输出应用场景 二、Excel/CSV文件输出的常见问题 三、合同订单数据文件输出实战 1&#xff09;合同订单数据输出为 CSV 文件 1、建立业务系统数据库、FTP/SFTP 服务器数据连接 2、数据处理 3、输出为文件 4、运行效果查看 2&#xff09;合同订单数据输出为…

数据结构第七讲:栈和队列OJ题

数据结构第七讲&#xff1a;栈和队列OJ题 1.有效的括号2.用队列实现栈3.用栈实现队列4.设计循环队列 1.有效的括号 链接: OJ题目链接 typedef char StackDataType;typedef struct Stack {StackDataType* arr;//使用一个指针来指向开辟的数组int capacity;//保存数组的空间大…

concrt140.dll丢失是什么情况?有效的解决dll!

concrt140.dll文件丢失是电脑中少见的文件&#xff0c;但也会因为某些原因会导致电脑丢失concrt140.dll文件&#xff0c;那么出现这文件的原因是什么呢&#xff1f;出现这样的问题有什么办法可以将concrt140.dll修复呢&#xff1f;一起来看看吧。 为什么会缺失concrt140.dll文件…

前端:数字世界的门面与灵魂

在当今数字化时代&#xff0c;前端作为用户与网站或应用直接交互的界面&#xff0c;其重要性不言而喻。它不仅是信息的展示窗口&#xff0c;更是用户体验&#xff08;UX&#xff09;和用户界面&#xff08;UI&#xff09;设计的核心。本文将深入剖析前端在整体网站或应用中的重…

vscode 创建QT最简工程

1. 前提条件 qt 安装cmake安装 参考&#xff1a; https://blog.csdn.net/qq_51355375/article/details/139890889vscode 环境配置 参考&#xff1a; https://blog.csdn.net/qq_51355375/article/details/140733495 2. 工程创建 include 放头文件src .cpp 文件CMakeList.tex …

物品租赁小程序论文(设计)开题报告

一、课题的背景和意义 近些年来&#xff0c;随着移动互联网巅峰时期的来临&#xff0c;互联网产业逐渐趋于“小、轻、微”的方向发展&#xff0c;符合轻应用时代特点的各类技术受到了不同领域的广泛关注。在诸多产品中&#xff0c;被誉为“运行着程序的网站”之名的微信小程序…