• java-junit单元测试


    问题

    在这里插入图片描述

    Junit框架

    在这里插入图片描述

    在这里插入图片描述

    代码

    工具类

    // 工具类
    public class StringUtils {
        // 获取字符串的最大下标
        public static int getMaxIndex(String str){
            // 这个地方是有问题的,应该是str.length() - 1  也没有进行str是否为空的判断
            return str.length() ;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    测试类

    • 测试类类名:原类名+test
    • 测试用例: 方法名+Test
    • Assertions.assertEquals 断言机制
    // 工具类的测试类 类名+Test
    public class StringUtilsTest {
    
        // 测试用例 方法名+Test
        @Test
        public void  testGetMaxIndex(){
            // 测试失败 因为这里为空 这个地方会报错
            // int maxIndex1 = StringUtils.getMaxIndex(null);
    
            int maxIndex2 = StringUtils.getMaxIndex("hello");
            // 断言机制:已知结果是4 但是实际结果是5 会报错
            // 参数一:期望值  参数二:实际值  参数三:错误提示
            Assertions.assertEquals(4, maxIndex2,"方法有bug");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    效果圖

    在这里插入图片描述

    常用API

    • @Test:标记一个方法为测试方法。 @BeforeEach:标记一个方法,该方法会在每个测试方法之前执行。
    • @AfterEach:标记一个方法,该方法会在每个测试方法之后执行。
    • @BeforeAll:标记一个静态方法,该方法会在所有测试方法之前执行。
    • @AfterAll:标记一个静态方法,该方法会在所有测试方法之后执行。
    • @Disabled:标记一个测试类或测试方法为禁用,即不执行该测试。
    • @DisplayName:定义一个自定义的测试方法或测试类的显示名称。 @Nested:标记一个非静态内部类,用于创建分层测试。
    • @RepeatedTest:表示一个测试方法应该被重复执行。 @ParameterizedTest:表示一个参数化测试。
    • @Tag:用于声明自定义的测试类或测试方法的标签。 @Timeout:用于声明测试方法或所有测试方法的超时时间
    • BeforeXXX 常用于初始化资源
    • AfterXXX 常用于释放资源

    在这里插入图片描述

    
        // 所有测试开始之前  只执行一次 用于初始化 一般用static修饰
        @BeforeAll
        public static void beforeAll(){
            System.out.println("所有测试开始");
        }
    
        // 每个测试开始之前执行 用于初始化
        @BeforeEach
        public void before(){
            System.out.println("测试开始");
        }
    
        // 每个测试结束之后执行 用于资源释放
        @AfterEach
        public void after(){
            System.out.println("测试结束");
        }
    
        // 所有测试结束之后执行 执行一次 用于资源释放 一般用static修饰
        @AfterAll
        public static void afterAll(){
            System.out.println("所有测试结束");
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    bp神经网络图像特征提取,神经网络如何提取特征
    CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 下篇
    rabbitmq-java-client源码结构设计与分析
    Ubuntu编译安装colmap遇到的几个问题以及解决
    NoSQL之 Redis配置
    逆傅里叶变IFFT原始信号恢复方法研究-附Matlab代码
    创建数据库脚本
    安卓-APP启动优化技术方案汇总
    项目总结(制作报表)
    从初级软件测试,到高级软件测试的必经之路
  • 原文地址:https://blog.csdn.net/qq_40603125/article/details/138169940