JUint
  TEZNKK3IfmPf 2023年11月13日 15 0

1.一个类有很多功能代码需要测试, 为了测试,就需要写入到main方法中

2.如果有多个功能代码测试,就需要来回注销,切换很麻烦

3.如果可以直接运行一个方法,就方便很多,并且可以给出相关信息,就好了-> JUnit

JUint

2. 基本介绍  565

JUnit是一个Java语言的单元测试框架

2.多数Java的开发环境都已经集成了JUnit作为单元测试的工具

代码在com.stulzl.juint_.包中

JUint_

package com.stulzl.juint_;

import org.junit.jupiter.api.Test;

//演示JUint使用  565
public class JUint_ {
    public static void main(String[] args) {
        //调用   传统方法
//        new JUint_().m1();
//        new JUint_().m2();



    }
    @Test
    public void m1() {
        System.out.println("m1方法被调用");
    }

    @Test
    public void m2() {
        System.out.println("m2方法被调用");
    }
}

3. 泛型本章练习   566

定义个泛型类DAO,在其中定义个Map成员变量,Map的键为String类型,值为T类型。

分别创建以下方法:

(1) public void save(String id,T entity): 保存T类型的对象到Map成员变量中

(2) public T get(String id): 从map中获取id对应的对象

(3) public void update(String id,T entity):替换map中key为id的内容,改为entity对象

(4) public List list(): 返回map中存放的所有T对象

(5) public void delete(String id): 删除指定id对象

定义一个User类:

该类包含: private成员变量(int类型) id, age; (String 类型)name.

创建DAO类的对象,分别调用其 save、get. update、 list、 delete 方法来操作User对象,

使用Ju.nit 单元测试类进行测试。

代码在com.stulzl.generic_exercise01.包中

测试类Generic_Exercise01

package com.stulzl.generic_exercise01;

import org.junit.jupiter.api.Test;

import java.util.List;

//泛型本章练习  566
//定义个泛型类DAO,在其中定义个Map成员变量,Map的键为String类型,值为T类型。
//分别创建以下方法:
//(1) public void save(String id,T entity): 保存T类型的对象到Map成员变量中
//(2) public T get(String id): 从map中获取id对应的对象
//(3) public void update(String id,T entity):替换map中key为id的内容,改为entity对象
//(4) public List list(): 返回map中存放的所有T对象
//(5) public void delete(String id): 删除指定id对象
//定义一个User类:
//该类包含: private成员变量(int类型) id, age; (String 类型)name.
//创建DAO类的对象,分别调用其 save、get. update、 list、 delete 方法来操作User对象,
//使用Ju.nit 单元测试类进行测试。
public class Generic_Exercise01 {
    public static void main(String[] args) {
        

    }
    //测试方法
    @Test//使用的时JUint调试
    public void testList(){
        //创建DAO类的对象,分别调用其 save、get、update、 list、 delete 方法来操作User对象,
        //说明
        //这里我们给T 指定类型是User
        DAO dao = new DAO<>();
        dao.save("001",new User(1,10,"jack"));
        dao.save("002",new User(2,18,"king"));
        dao.save("003",new User(3,38,"smith"));
        //调用list方法
        System.out.println("=====list遍历后=====");
        List list = dao.list();//用一个List集合接收一下,也可以不接收
        System.out.println("list="+list);
        //调用save方法
        System.out.println("=====save增加后=======");
        dao.save("004",new User(4,26,"july"));
        System.out.println(dao);
        //调用get方法
        System.out.println("======get查找后=======");
        System.out.println(dao.get("002"));
        //调用update方法
        System.out.println("======update更改后======");
        dao.update("003",new User(3,28,"tom"));
        System.out.println(dao);
        //调用delete方法
        System.out.println("======delete删除后======");
        dao.delete("001");
        System.out.println(dao);

    }
}

User类 

package com.stulzl.generic_exercise01;

//该类包含: private成员变量(int类型) id, age; (String 类型)name.
public class User {

    private int id;//特此声明一下这个id和DAO中的String id没半毛钱关系,他俩只是重名了而已
    private int age;
    private String name;

    public User( int id, int age,String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = 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;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}

泛型类DAO

package com.stulzl.generic_exercise01;

import java.util.*;

//定义个泛型类DAO,在其中定义个Map成员变量,Map的键为String类型,值为T类型。
//分别创建以下方法:
//(1) public void save(String id,T entity): 保存T类型的对象到Map成员变量中
//(2) public T get(String id): 从map中获取id对应的对象
//(3) public void update(String id,T entity):替换map中key为id的内容,改为entity对象
//(4) public List list(): 返回map中存放的所有T对象
//(5) public void delete(String id): 删除指定id对象
public class DAO {//泛型类
    //定义个Map成员变量,Map的键为String类型,值为T类型。
    private Map map = new HashMap<>();

    //(1) public void save(String id,T entity): 保存T类型的对象到Map成员变量中
    public void save(String id,T entity){
        map.put(id,entity);
    }
    //(2) public T get(String id): 从map中获取id对应的对象
    public T get(String id){
        return map.get(id);
    }
    //(3) public void update(String id,T entity):替换map中key为id的内容,改为entity对象
    public void update(String id,T entity){
        map.put(id,entity);//id相同直接替换
    }
    //(4) public List list(): 返回map中存放的所有T对象
    //遍历map[k-v],将map的所有value(T entity),封装到ArrayList返回即可
    public List list(){
        //创建ArrayList
        List list = new ArrayList<>();
        //遍历
        Set keySet = map.keySet();
        for (Object o :keySet) {
            list.add(map.get(o));//把所有的v值(也就是T对象)装进list
        }
        return list;//返回list,list里面装着map的T对象
    }
    //(5) public void delete(String id): 删除指定id对象
    public void delete(String id){
        map.remove(id);
    }

    @Override
    public String toString() {
        return "DAO{" +
                "map=" + map +
                '}';
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   23天前   51   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf