Eclipse中的实用工具之JUnit

news2024/11/15 10:21:02

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于JUnit的相关操作吧

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

是什么

为什么要用

怎么用


是什么

JUnit是一个开源的Java语言测试框架,用于编写和运行可重复的自动化测试。JUnit旨在帮助开发人员编写可重复、自动化、可维护的测试

为什么要用

优点

  • 1. 简单易用:使用注解和断言,使测试代码变得易于编写和阅读
  • 2. 灵活自动化:可以自动运行测试代码,无需人工干预
  • 3. 可扩展性:可以扩展JUnit库,以便于更好地适应新技术、环境和工具的使用
  • 它提了一个测试执行器、断言(Assertion)和注释等基本测试元素,已经成为Java应用程序开发中最常用的测试框架之一
  • JUnit能够简单地运行单元测试和重复运行测试,其目的是检查测试代码是否能够实现系统的正确性需求
  • Unit的应用可为开发人员提供及时的反馈和错误报告,以及帮助快速发现和定位代码的问题

 ⭐⭐总而言之,相比于我们之前在main方法中的测试来说,使用这个工具可以单独的测试每个方法,并且在一个类中可以多次使用

怎么用

按照上述的操作,先将 JUnit 配置为 Eclipse 的类路径 【右击项目->Properties->Java Build Path->Libraries->Add Library->选择JUNIT->选择JUNIT4->Finish】 

package com.wh.dao;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
 
import org.junit.Test;
 
import com.wh.entity.Book;
import com.wh.util.BaseDao;
import com.wh.util.DBAccess;
import com.wh.util.PageBean;
import com.wh.util.StringUtils;
 
public class BookDao extends BaseDao<Book>{
	/**
	 * 简易版查询
	 * @param b
	 * @param pageBean
	 * @return
	 */
	public List<Book> select(Book b,PageBean pageBean) {
		Book book = null;//实体类
		List<Book> list = new ArrayList<>();//集合
		Connection conn = null;//连接对象
		PreparedStatement ps = null;//执行对象
		ResultSet rs = null;//结果集对象
		try {
			conn = DBAccess.getConnection();//获取连接对象
			String sql = " select * from t_mvc_book where 1 = 1";//定义sql语句
			String bname = b.getBname();//拿到模糊查询关键字
			if(StringUtils.isNotBlank(bname)) {//如果模糊查询的关键字不为空
				sql+=" and bname like '%"+bname+"%' ";//那么就拼接sql语句进行模糊查询
			}
			ps = conn.prepareStatement(sql);//执行sql语句
			rs=ps.executeQuery();//获取结果集对象
			while(rs.next()) {//遍历结果集
				book=new Book(rs.getInt(1), rs.getString(2), rs.getFloat(3));
			list.add(book);//将对象加到集合中
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;//返回集合
	}
	
 
	
	@Test
	public void test() throws Exception {
		BookDao bookDao = new BookDao();
		Book book = new Book();
		book.setBname("圣墟");
		PageBean pageBean = new PageBean();
		pageBean.setPagination(true);
		List<Book> select = bookDao.select(book, pageBean);
		for (Book book2 : select) {
			System.out.println(book2);
	}
}
}

运行结果

 运行结果和我们在main方法中测试是一样的

               好啦,今天的分享就到这了,希望能够帮到你呢!😊😊                

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

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

相关文章

奇舞周刊第497期:解锁 PDF 文件:使用 JavaScript 和 Canvas 渲染 PDF 内容

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 解锁 PDF 文件&#xff1a;使用 JavaScript 和 Canvas 渲染 PDF 内容 最近研究了 Web 的 FileSystemAccess Api&#xff0c;它弥补了 Web 长期以来缺少的能力&#xff1a;操作用户…

《PyTorch深度学习实践》第九讲 多分类问题

b站刘二大人《PyTorch深度学习实践》课程第九讲多分类问题笔记与代码&#xff1a;https://www.bilibili.com/video/BV1Y7411d7Ys?p9&vd_sourceb17f113d28933824d753a0915d5e3a90 二分类问题中计算出 P ( y 1 ) P(y1) P(y1)即可直接得到 P ( y 0 ) P(y0) P(y0)&#xff0…

LeetCode 打卡day46-- 单词拆分和多重背包问题

一个人的朝圣 — LeetCode打卡第46天 知识总结 Leetcode 139. 单词拆分题目说明代码说明 知识总结 今天写了一道题目, 但是还挺难的, 而且是面试高频题目 还过了一遍多重背包问题. 多重背包与01背包的区别在于多重背包限制了物品的个数, 某些物品的个数可能不为1, 可以使用两…

Opencascade源码学习之模型算法_建模算法介绍

Opencascade源码学习之模型算法_建模算法介绍 介绍几何工具相交两曲线相交曲线曲面相交两曲面相交 插值Geom2dAPI_InterpolateGeomAPI_Interpolate 约束的直线和圆约束类型可用的线和圆的类型外部/内部直线的方向两个圆相切给定半径的圆与两个圆相切算法的类型 约束的曲线和曲面…

初识React/JSX

JSX ​​​​​​​推荐使用小括号包裹jsx

【Linux】硬链接 和 软链接

为了方便用户访问文件&#xff0c;Linux提供了一种称为连接&#xff08;link&#xff09;的机制&#xff0c;可以将一个文件或目录与另一个文件或目录建立关联&#xff0c;从而实现多个路径指向同一个文件或目录的效果。 一、概述二、硬链接和软链接详解2.1 硬链接2.11 硬链接的…

ASIC 数字设计:概述和开发流程

概述 集成电路是由硅晶圆&#xff08;wafer&#xff09;切割出来的芯片&#xff08;die&#xff09;组成的。每个晶圆可以切割出数百个芯片。 ASIC是指针对特定应用而设计的集成电路&#xff08;Application Specific Integrated Circuit&#xff09;&#xff0c;与通用的存储器…

ctfhub靶场练习——SSRF攻击

文章目录 前言关卡、内网访问关卡、伪协议读取文件关卡、端口扫描关卡、POST1、使用http协议查看本地的flag.php文件2、使用burp抓包&#xff0c;并发送到Repeater模块进行操作3、构造一个简单的POST请求&#xff1a;4、对构造的post请求进行url编码第一次编码&#xff1a;对第…

【裸机开发】GPT 定时器(一) —— GPT的功能、寄存器解析

后续需要使用 GPT 计数器实现中断以及延时&#xff0c;这里我们需要先了解一下GPT的功能以及相关寄存器。 目录 一、GPT 定时器的功能 1、计数器 2、输入捕获 3、输出比较&#xff08;GPT的两种工作模式&#xff09; 二、寄存器解析 1、GPTx_CR 2、GPTx_PR 3、GPTx_SR …

Jetson Nano烧写系统镜像

Jetson Nano是一款形状和接口类似于树莓派的嵌入式主板&#xff0c;搭载了四核Cortex-A57处理器&#xff0c;GPU则是拥有128个NVIDIA CUDA核心的NVIDIA Maxwell架构显卡&#xff0c;内存为4GB的LPDDR4&#xff0c;60Hz视频解码。 1.烧录前准备 电源线&#xff08;必备&#xf…

游戏陪玩语音聊天系统3.0商业升级独立版本源码

首发价值29800元的最新商业版游戏陪玩语音聊天系统3.0商业升级独立版本源码 1、增加人气店员轮播 2、优化ui界面丨优化游戏图标展示丨优化分类展示 3、增加动态礼物打赏功能 4、增加礼物墙功能 增加店员满足业绩&#xff0c;才能升级功能 5、增加店员等级不同&#xff0c;可接…

操作系统第4章习题

B 一个目录文件包含多个目录项 B. 在打开文件的时候还不用 只有在读文件的时候 才需要把数据读到内存中 C 不完整 D 在外存中 FCB不是文件控制块吗 为什么是文件目录项 文件属性&#xff1a;有的文件是只读的 访问控制的灵活性较高

【前端2】jquary,bootstrap,vue

文章目录 1.jquary&#xff1a;选择器1.1 jquery框架引入&#xff1a;$("mydiv") 当成id选择器1.2 jquery版本/对象&#xff1a;$(js对象) -> jquery对象1.3 jquery的页面加载事件&#xff1a;$ 想象成 window.onload 1.4 jquery的基本选择器&#xff1a;$()里内容…

7 拓展中断_事件控制器(EXTI)(STM32HAL库 )

目录 EXTI-扩展中断和事件控制器 事件的概念 EXTI-扩展中断和事件控制器 EXTI外设框图 F1/F4/F7&#xff08;看懂与或门&#xff09; H7 STM32CubeMX中的EXTI配置 EXTI-扩展中断和事件控制器 事件的概念 STM32上许许多多的外设&#xff0c;是通过内部信号来协同工作的。…

Android Compose Button defaultButtonColors

Android Compose Button defaultButtonColors 本文最新更新地址 https://gitee.com/chenjim/chenjimblog 发现问题 最近看 Android Compose 相关资料发现如下代码 colors defaultButtonColors( backgroundColor if (count > 5) Color.Green else Color.White )原文地…

从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题

目录 1. 多态&#xff08;polymorphism&#xff09; 1.1 构成多态的两个条件 1.2 虚函数重写(覆盖) 1.3 协变构成多态 1.4 父虚子非虚构成多态 1.5 析构函数的重写 1.6 final 和 override 关键字&#xff08;C11&#xff09; 1.7 重载、覆盖、隐藏的对比 2. 抽象类&am…

通信接口和通信方式总结

通信接口和通信方式总结 一、通信接口主要的5种类型二、通信方式2.1 并行和串行2.2 单工、半双工及全双工通信2.3 串行通信分类 - 同步\异步2.4 波特率 Baud Rate 三、串联设备的接口类型 - 网口和串口3.1 串口 - COM口3.1.1 基本介绍及应用3.1.2 接线方式 - 232、422、485接线…

时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测

时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测 目录 时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测预测效果基本介绍模型介绍PSO模型GRU模型PSO-GRU模型 程序设计参考资料致谢 预测效果 基本介绍 Matlab基于PSO-GRU粒子群算法优化门…

【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript5+ Element-Plus 从0到1搭建企业级后台管理系统(前后端开源)

vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 Element Plus 版本的后台管理前端解决方案&#xff0c;技术栈为 Vue3 Vite4 TypeScript Element Plus Pinia Vue Router 等当前主流框架。 相较于其他管理前端框架&#xff0c;vue3-element-admin 的优势在于一…

Docker中安装Nginx

查看可以安装的Nginx版本: docker search nginx 下载最新版本: docker pull nginx :latest 可以省略 运行容器: docker run -itd --name my_nginx -p 80:80 nginx 在主机通过 https://localhost:80或者 http://192.168.40.100:80可以访问 如果之前创…