Junit单元测试(@Test,Before,After)、断言

一、Junit单元测试(白盒测试)

好处:测试时可以给每个方法添加一个@Test,这样就可以不在main方法中调用改来改去。(方法加了@Test可直接运行,可以不定义主方法就可以执行了)
给一个方法单元测试:

  1. 给方法加@Test
  2. 导入junit依赖环境
    在这里插入图片描述
    然后就可以点左边的绿色按钮单个执行方法了。
    如果执行,下面显示绿色代表成功,红色代表失败(一般都是有异常)
    在这里插入图片描述

单元测试不依赖以System.out.println();一般用断言操作。

1.1断言

断言就是你可能某个方法写错(并不指的是真实的错误,有可能就是跟你预期不符合而已),但是Junit
还是执行绿色的如下:

import org.junit.Test;

/**
 * @author QLBF
 * @version 1.0
 * @date 2020/11/10 10:07
 */
public class Junit_test {
    public static void main(String[] args) {
    }
    public static int add(int a,int b){
        return a-b;
    }
    @Test
    public void test(){
        int result=add(1,2);
        System.out.println(result); //-1
    }
}

就是你调用add方法(但是返回写为了-号,而不是+号),期待返回3,但是返回-1,这就是跟你的预期不符了,但这是Junit测试还是绿色,所以所不能用输出来评判对不对;在这里插入图片描述

所以我们应该用断言
Assert.assertEquals(期望的结果,运算的结果);(如果不符合你的预期,下面就会报红色)(assertEquals是方法重载得选对参数)

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

/**
 * @author QLBF
 * @version 1.0
 * @date 2020/11/10 10:07
 */
public class Junit_test {
    public static void main(String[] args) {

    }

    public static int add(int a,int b){
        return a-b;
    }

    @Test
    public void test(){
        int result=add(1,2);
        Assert.assertEquals(3,result);
    }
}

这由于预期是3,而实际是-1所以报错(爆红)
在这里插入图片描述

1.2@Before和@After

@Before: 修饰的方法会在测试方法之前被自动执行
@After : 修饰的方法会在测试方法执行之后自动被执行
上面两个就算Test测试方法断言出错,他们俩还是会执行的

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
 * @author QLBF
 * @version 1.0
 * @date 2020/11/10 10:07
 */
public class Junit_test {
    public static void main(String[] args) {

    }

    public static int add(int a,int b){
        return a-b;
    }
    
    @Before
    public void init(){
        System.out.println("init...");
    }

    @After
    public void close(){
        System.out.println("close...");
    }

    @Test
    public void test(){
        int result=add(1,2);
        System.out.println("Test'...");
        Assert.assertEquals(3,result);
    }
}

还是爆红,但是该输出的输出,该关闭的关闭
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值