JAVA-基础 junit单元测试

单元测试

什么是单元测试:就是针对最小的单位进行测试代码和正确性测试

 

junit单元测试框架的有点:可以灵活的编写测试代码,可以针对某个方法进行测试也支持一件完成全部方法的自动化测试,且各自独立

 

 

junit使用流程

1,使用java导入Junit的jar包

2,建立一个公开,无参,无返回值的参数

3,测试之前声明Test注解

4,开始测试

 

 

例如我们有个类StringUtil,内有方法printNumber

然后我们这时候建立一个 类StringUtilTest写方法testprintNumber

StringUtil

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

 

StringUtilTest

package org.example;
import org.junit.Test;
public class StringUtilTest {
    @Test // 测试方法
    public void testPrintNumber(){
        StringUtil.printNumber("admin");
        StringUtil.printNumber(null);
    }
}

即可开始进行测试

 

自动化测试

由于junit优秀的断言机制,我们可以利用断言进行断点测试

 

添加方法

public static Integer getNumber(Integer num){
    return num;
}
//当我们传入什么参数即可返回指定的参数值
@Test
public void testGetNumber()
{
    int result = StringUtil.getNumber(5);
    System.out.println(result);
    Assert.assertEquals("方法有bug",4,result);
}

//Assert.assertEquals 第一个参数填入报错信息,第二个参数填入我们预测的值,第三个参数填结果,很显然结果是错误的

java.lang.AssertionError: 方法有bug
Expected :4
Actual :5

 

junit常用注解

@Test  //测试类当中的方法必须修饰才能称为测试方法才能启动执行

@Before //用于修饰一个实例方法该方法会在每一个执行方法之前执行依次

@After //用于修饰一个实例方法该方法会在每一个执行方法之后执行依次

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

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

发表回复

电子邮件地址不会被公开。必填项已用 * 标注