Junit单元测试

单元测试

单元测试叫做模块测试,属于白盒测试,就是开发者编写的一小段代码,用于检测某个功能是否正确。

白盒测试是懂代码的开发做的,需要对项目代码的进行编写测试代码。黑盒测试就只看功能是否正确而不看代码。

我们一般情况下想要运行测试一下某个功能,都是新建一个test类写一个main方法进行测试,这样虽然在单个测试类的时候很方便,但是需要测试多个的时候对测试代码的修修改改显得有点繁琐。于是Junit就诞生了。

测试成败

Junit测试失败有两种情况:

Failure:

一般是由单元测试使用的断言方法判断失败的所引起的,表示测试点发现了问题,就是说程序输出的结果和我们逾期的不一样

    @Test
    void getManyBinaryOperaiton() {
        boolean b = new File("AddSubOperation.txt").exists();
        Assert.assertEquals(b,false);
        if (!b){
            System.out.println("AddSubOperation.txt不存在啊宝贝!");
        }
    }

Error:

这个错误就是由代码异常引起的,它可以是测试代码本身的错误,也可以是被测试代码的中的一个隐藏的bug

 

Junit常用注解

  • @Test  :将一个普通的方法修饰成为一个测试方法
  • @BeforeClass :他会在所有的方法运行前被执行,static修饰,只执行一次
  • @AfterClass: 他会在所有的方法运行结束后被执行,static修饰,只执行一次
  • @After : 会在每一个测试方法运行后被执行一次
  • @Before : 会在每一个测试方法运行前被执行一次
  • @Ignore : 所修饰的测试方法会被测试运行器忽略

注意一下Junit4&5的一点区别:

断言

很朴素的方法,使用断言:Assert.assertEquals(a,b) 判断两个值是否一致,一致就通过,不一致停止程序

不止上边一个方法啦,还有很多,慢慢摸索

除了Junit的断言Assert,其实java也有断言,叫做assert类型,定义一个变量接收返回值,然后调用方法........

 

Hello Junit

import org.junit.Before;
import org.junit.Ignore;
import org.junit.jupiter.api.Test;

import java.io.File;

import static org.junit.jupiter.api.Assertions.*;

/**
 * @author Li Sipeng
 * @version 4.1 on   2022-11-20 0:09
 */
class OperationBaseTest extends BinaryOperation { 
    
    @Before
    public void init(){  
    }
    
    @Test
    void setManyBinaryOperaiton() {
    }

    @Ignore
    @Test
    void getManyBinaryOperaiton() {
        boolean b = new File("AddSubOperation.txt").exists();
        //      Assert.assertEquals(b,false);
        if (!b){
            System.out.println("AddSubOperation.txt不存在啊宝贝!");
        }
    }

    @Test
    public void isEqual(){
    }
}

 

在IDEA中使用Junit

首先安装Junit插件

然后需要给项目指定一个测试的目录:

此时在在test目录是跟src同级,而且主要test目录是绿色的,不是就标记一下

现在安装好插件、配置好测试目录了,下一步就进行测试了,先创建一个测试类。

创建测试类两种方式,一种在需要测试的类名上右键go to -> test,二种就直接快捷键Ctrl+Shift+T,直接生成。

如此一来就生成了测试类,然后在测试类中就可以编辑自己想要测试的功能了(如上边的Hello Junit),相关使用方式都在上边介绍了

posted @ 2022-11-20 13:45  写点bug不过分吧  阅读(152)  评论(0编辑  收藏  举报