Java 单元测试、Junit

一. 概述

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

二. Junit单元测试框架

        可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,比如idea)

        优点:

                ① 可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立。

                ② 不需要程序员去分析测试的结果,会自动生成测试报告。

        使用步骤

                ① 将Junit框架的jar包导入到项目中(注意:IDEA集成了Junit框架,不需要我们自己手工导入了)

                ② 为需要测试的业务类,定义对应的测试类,并为每个业务方法,编写对应的测试方法(必须:公共、无参、无返回值)

                ③ 测试方法上必须声明@Test注解,然后在测试方法中,编写代码调用被测试的业务方法进行测试

                ④ 开始测试:选中测试方法,右键选择“Junit运行”,如果测试通过则是绿色;测试失败则是红色

public class StrUtils {

    /*
    * 打印字符串长度
    * */
    public static void pringtStrLength(String str) {
        System.out.println("字符串的长度:"  + str.length());
    }


    /*
    * 获取字符在字符串位置
    * */
    public static int getMaxIndex(String str,char ch) {
        if (str == null || str.length() == 0) {
            return -1;
        }else {
            return str.indexOf(ch);
        }
    }


}



public class StrUtils_Test {

    @Test
    public void testpringtStrLength(){
        StrUtils.pringtStrLength("卡莎:艾卡西亚暴雨");
        StrUtils.pringtStrLength(null);
    }


    @Test
    public void testgetMaxIndex(){
        System.out.println(StrUtils.getMaxIndex(null,'a'));
        System.out.println(StrUtils.getMaxIndex("dfsfsadsdsa",'a'));

        //断言机制:程序员可以通过预测业务方法的结果 预测返回6 实际返回5
        assertEquals(6,StrUtils.getMaxIndex("dfsfsadsdsa",'a'),"方法有bug");
    }
}

三. Junit单元测试框架的常用注解

        Junit4版本

注解说明

@Test

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

@Before

用来修饰一个静态方法,该方法会在每一个测试方法执行前执行一次

@After

用来修饰一个静态方法,该方法会在每一个测试方法执行后执行一次

@BeforeClass

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

@AfterClass

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

        Junit5版本 

注解说明

@Test

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

@BeforeEach

用来修饰一个静态方法,该方法会在每一个测试方法执行前执行一次

@AfterEach

用来修饰一个静态方法,该方法会在每一个测试方法执行后执行一次

@BeforeAll

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

@AfterAll

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

        在测试方法执行前执行的方法常用于:初始化资源

        在测试方法执行后执行的方法常用于:释放资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值