Java基础(六)

前言:本篇博客学习Junit单元测试框架的使用以及常见的注解。

目录

单元测试

Junit单元测试框架

常见注解


单元测试

什么是单元测试?

针对最小的功能单元(方法),编写测试代码对其进行正确性测试。

Junit单元测试框架

测试方法必须添加注解

添加@Test注解,引入JUnit4框架

java 复制代码
package learn15;

public class StringUtil {
    public static void printNumber(String name) {
        if (name == null) {
            System.out.println(0);
            return;
        }
        System.out.println("名字的长度是:" + name.length());
    }

    public static int getMaxIndex(String data) {
        if (data == null) {
            return -1;
        }
        return data.length();
    }
}
java 复制代码
package learn15;

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

public class StringUtilTest {
    @Test
    public void testPrintNumber() {
        StringUtil.printNumber("admin");
        StringUtil.printNumber(null);
    }

    @Test
    public void testGetMaxIndex() {
        int index1 = StringUtil.getMaxIndex(null);
        System.out.println(index1);

        int index2 = StringUtil.getMaxIndex("admin");
        System.out.println(index2);

        Assert.assertEquals("方法内部有Bug!",4,index2);
    }
}

运行所有的Test,在项目工程目录下右键,选择Run 'All Tests'

常见注解

@Test:测试类中的方法必须用它修饰才能成为测试方法,才能启动执行。

@Before:用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。

@BeforeClass:用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次。

@After:用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。

@AfterClass:用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次。

java 复制代码
package learn15;

import org.junit.*;

import java.net.Socket;

public class StringUtilTest {
    private Socket socket;
    @Before
    public void test1() {
        System.out.println("----->test1 Before执行了------");
        socket = new Socket();
    }

    @BeforeClass
    public static void test11() {
        System.out.println("----->test11 BeforeClass执行了------");
    }

    @After
    public void test2() {
        System.out.println("----->test2 After执行了------");
    }

    @AfterClass
    public static void test22() {
        System.out.println("----->test22 AfterClass执行了------");
    }

    @Test
    public void testPrintNumber() {
        StringUtil.printNumber("admin");
        StringUtil.printNumber(null);
    }

    @Test
    public void testGetMaxIndex() {
        int index1 = StringUtil.getMaxIndex(null);
        System.out.println(index1);

        int index2 = StringUtil.getMaxIndex("admin");
        System.out.println(index2);

        Assert.assertEquals("方法内部有Bug!", 4, index2);
    }
}
相关推荐
上海合宙LuatOS7 小时前
32位固件和64位固件使用场景
物联网·junit·luatos
晓晓hh1 天前
JavaWeb学习——JUnit和日志
学习·junit·单元测试
qq_452396231 天前
第十三篇:《UI自动化测试框架设计:整合TestNG/JUnit + Allure报告》
ui·junit
aLTttY2 天前
Spring Boot + Redis 实现接口防抖与限流实战指南
spring boot·redis·junit
以为你知道啊2 天前
mini-job极简分布式延迟任务队列 — 基于 Redis,支持 Cron 周期任务、异步协程和多执行器
redis·分布式·junit
胡利光3 天前
Harness Engineering 05|Safety & HITL Harness:边界、接管与回滚
junit
上海合宙LuatOS3 天前
LuatOS扩展库API——【xmodem】文件传输协议
物联网·junit·luatos
胡利光5 天前
Harness Engineering 02|Repo Harness:让仓库对 Agent 可读
java·junit·单元测试
上海合宙LuatOS6 天前
LuatOS扩展库API——【libnet】TCP/UDP协议
物联网·tcp/ip·junit·udp·luatos
上海合宙LuatOS7 天前
LuatOS扩展库API——【libfota】远程升级
物联网·junit·lua·luatos