Java重修笔记 第五十二天 Junit

news/2024/9/22 20:57:23/
  • Junit 的使用

1. 为了方便程序员测试某一个方法而使用

2. 在方法上面加上 @Test 并引用 5.X 版本

3. 就能在方法前面看到可运行的按钮

java">public class Homework07 {public static void main(String[] args) {}@Testpublic void testList() {DAO<User> dao = new DAO<>();dao.save("第一个", new User(123, 23, "小米"));dao.save("第二个", new User(234, 32, "小华"));dao.save("第三个", new User(345, 66, "小钟"));dao.save("第四个", new User(456, 45, "小三"));List<User> list1 = dao.list();System.out.println(list1);dao.update("第二个",new User(555, 78, "小小"));List<User> list2 = dao.list();System.out.println(list2);dao.delete("第一个");List<User> list3 = dao.list();System.out.println(list3);}
}class DAO<T> {private Map<String, T> map = new HashMap<>();public void save(String id, T entity) {getMap().put(id, entity);}public T get(String id) {return getMap().get(id);}public void update(String id, T entity) {getMap().put(id, entity);}public List<T> list() {ArrayList<T> list = new ArrayList<>();Set<String> strings = getMap().keySet();for (String key : strings) {list.add(getMap().get(key));}return list;// return new ArrayList<>(getMap().values());}public void delete(String id) {getMap().remove(id);}public Map<String, T> getMap() {return map;}public void setMap(Map<String, T> map) {this.map = map;}
}class User {private int id;private int age;private String name;@Overridepublic String toString() {return "User{" +"id=" + id +", age=" + age +", name='" + name + '\'' +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return id == user.id && age == user.age && Objects.equals(name, user.name);}@Overridepublic int hashCode() {return Objects.hash(id, age, name);}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User(int id, int age, String name) {this.id = id;this.age = age;this.name = name;}
}

运行结果:

[User{id=234, age=32, name='小华'}, User{id=456, age=45, name='小三'}, User{id=345, age=66, name='小钟'}, User{id=123, age=23, name='小米'}]
[User{id=555, age=78, name='小小'}, User{id=456, age=45, name='小三'}, User{id=345, age=66, name='小钟'}, User{id=123, age=23, name='小米'}]
[User{id=555, age=78, name='小小'}, User{id=456, age=45, name='小三'}, User{id=345, age=66, name='小钟'}]
 


http://www.ppmy.cn/news/1523825.html

相关文章

掌握Hive函数[2]:从基础到高级应用

目录 高级聚合函数 多进一出 1. 普通聚合 count/sum... 2. collect_list 收集并形成list集合&#xff0c;结果不去重 3. collect_set 收集并形成set集合&#xff0c;结果去重 案例演示 1. 每个月的入职人数以及姓名 炸裂函数 概述 案例演示 1. 数据准备 1&#xff09;表…

静态代理和动态代理

目录 一、什么是代理模式 二、静态代理 1.定义 2.实现 三、动态代理 1 定义 2 实现 四、静态代理与动态代理 五、总结 一、什么是代理模式 代理模式是一种设计模式&#xff0c;它允许一个对象访问另外一个对象。代理对象通常通过包含真实对象的引用来控制对真实对象的…

Mysql基础练习题 1757.可回收且低脂的产品(力扣)

编写解决方案找出既是低脂又是可回收的产品编号。 题目链接&#xff1a; https://leetcode.cn/problems/recyclable-and-low-fat-products/description/ 建表插入数据&#xff1a; Create table If Not Exists Products (product_id int, low_fats ENUM(Y, N), recyclable …

hive表格统计信息不准确

问题描述 有个hive分区表&#xff0c;orc存储格式&#xff0c;有个分区&#xff0c;查询 select count(1) from table where dtyyyyMMdd 结果是0&#xff0c; 但查询 select * from table where dtyyyyMMdd又能查到数据&#xff0c;去hdfs对应目录下查看&#xff0c;也能看到有…

【JavaEE初阶】多线程(1)

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 并发编程 线程 与 进程 创建线程 写法1 写法2 写法3 写法4 写法5 Thread类的常见构造方法 前台/后台 线程 并发编程 并发编程: 通过写特殊的代码 把多个cpu的核心…

Java——踩坑Arrays.asList()

坑1&#xff1a;不能直接使用 Arrsys.asList() 来转换基本类型数据 public static void test1(){// 1、不能直接使用asList来转换基本类型数组int[] arr {1, 2, 3};List list Arrays.asList(arr);System.out.printf("list:%s size:%s class:%s", list, list.size(…

理解 RabbitMQ:生产者、连接、通道、交换机、队列与消费者的消息流

在分布式消息系统中&#xff0c;RabbitMQ 是一个非常流行的消息代理。它的核心理念是解耦应用程序的生产者和消费者&#xff0c;使得消息能够可靠地从一方传递到另一方。本文将带你深入了解 RabbitMQ 中 生产者、连接、通道、交换机、队列 和 消费者 之间的消息流&#xff0c;并…

Agent探索之OpenAI方式调用本地模型(one-api)

介绍 https://github.com/songquanpeng/one-api OpenAI 接口管理 & 分发系统&#xff0c;支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元&#xff0c;可用于二次分发管理 key&…