2022Java学习笔记九十(单元测试:junit框架、单元测试的常用注解)

单元测试
单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。

一、Junit单元测试框架
JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。
此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。

JUnit优点
● JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
Junit可以生成全部方法的测试报告。如果测试良好则是绿色;如果测试失败,则是红色。
单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。

java单元测试框架包括 java的单元测试框架_学习

实例代码
创建一个UserServer类,里面放两个方法

package com.zcl.d1_junit;

/*
    业务方法
 */
public class UserServer {
    public String loginName(String username,String password){
        if("admin".equals(username) && "123456".equals(password)){
            return "登录成功";
        }else{
            return "登录失败";
        }
    }

    public void selectNames(){
        System.out.println(10/0);
        System.out.println("查询所有方法");
    }
}

创建一个TestUserServer单元测试类

关于单元测试类需要注意的事项:
1、第一次下载Junit依赖包的时候最好连上网络,不然是不可以使用@Test的
2、关于命名最好使用的是对于需要测试的方法名称
3、关于启动测试方法:鼠标在哪启动那个,点击对应测试类就会执行指定的测试类,如果点击空白地方或者整个类名的地方就会运行所有的类下的方法。
还有一个强大的功能就是一键测试完整个过程下面的方法,鼠标点击过程目录右键有一个【Run’All Tests’】运行就会将整个模块的方法都跑一遍

package com.zcl.d1_junit;

import org.junit.Assert;
import org.junit.Test;

/*
    测试类
 */
public class TestUserServer {
    /*
        注意:
        1、必须是公开的,无参数、无返回值
        2、测试方法必须使用@Test注解标记
        IDEA第一次使用单元测试建议连网下载Junim
     */
    @Test // 连网下载
    public void testUserServer(){
        UserServer userServer = new UserServer();
        String rs = userServer.loginName("admin","123456");
        // 进行预期结果的正确性测试:断言【就是对测试方法返回的信息是否是我们想要的信息】
        /**
         * 参数一:错误返回值
         * 参数二:期待值
         * 参数三:实际值
         */
        Assert.assertEquals("您的d登录业务可能出现问题","登录成功",rs);
    }

    @Test
    public void testselectName() {
        UserServer userServer = new UserServer();
        userServer.selectNames();
    }
}

关于测试的输出结果

这是一个同时运行两个测试方法的结果,报红的就是有问题的,绿色的就是没有问题的

java单元测试框架包括 java的单元测试框架_java单元测试框架包括_02


二、单元测试的常用注解

java单元测试框架包括 java的单元测试框架_开发语言_03

开始执行的方法:初始化资源
执行完之后的方法:释放资源

java单元测试框架包括 java的单元测试框架_java单元测试框架包括_04