Junit单元测试

本文介绍了如何使用JUnit进行单元测试,包括创建测试类、编写测试方法、使用断言确保测试准确性,以及利用@Before和@After注解进行资源管理。通过JUnit,可以更方便地对代码进行测试和调试,提高开发效率。

Junit单元测试

前言

平时在写代码的时候,如果需要测试某个功能我们一般会创建一个Test的测试类,然后写一个main方法,在main方法中测试我们的代码,但是每次需要测试新功能的时候就不得不把原来的测试代码注释掉,或者再写一个Test类,这样很麻烦,建议再测试代码的时候使用Junit测试

Junit使用方法

例子:比如我们现在有一个Calculator,需要测试它里面的 add() 和 sub()。

/**
 * @Author superMonkey
 * @Date 2022/7/21 23:49
 * @Description TODO
 */
public class Calculator {
    /**
     * 相加的方法
     * @param a
     * @param b
     * @return
     */
    public int add(int a, int b) {
        return a + b;
    }

    /**
     * 相减的方法
     * @param a
     * @param b
     * @return
     */
    public int sub(int a, int b) {
        return a - b;
    }
}

第一步:

  • 在Calculator类所在包路径的同级目录下面建立一个test的包。
  • 在test的包里面创建一个 测试类名Test 的类,例如CalculatorTest的测试类。
  • 在测试类中创建测试方法,命名 test需要测试的方法名 ,例如testAdd()。
  • 在当前方法的上面加上 @Test 注解,这个注解来自于 org.junit这个包下。
  • 点击运行就可以测试了。
  • 如果需要要测试减法,再旁边再写一个减法的测试方法就可以了
/**
 * @Author superMonkey
 * @Date 2022/7/21 23:50
 * @Description TODO
 */
public class CalculatorTest {

    @Test
    public void testAdd(){
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 5);
        System.out.println(result);
    }
    
   @Test
    public void testSub(){
        Calculator calculator = new Calculator();
        int result = calculator.sub(2, 5);
        System.out.println(result);
    }

}

断言

在上述的测试方法中,如果测试后Idea的界面不出现红色就说明测试通过,但是通过结果来判断测试是否正确是不可靠的,如过方法内部写错,比如,add()方法内部变成了,a -b; 本来是加法,现在却变成了减法,使用Junit测试之后,是可以正常输出结果的,但是结果其实是不正确的。这个时候就需要使用断言。

    @Test
    public void testAdd(){
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 5);
        /**
         *  断言就是我先判断方法允许的结果是什么样子,和实际方法的输出做对比。
         *  如果相同,Idea出现绿色,不同出现红色。
         *  下面就是我断言结果是 7 ,但是如果result不是7就是说明add()方法错了。
         */
        Assert.assertEquals(7, result);
        System.out.println();
    }

@Before,@After

@Before , @After是Jnuit提供的两个注解

@Before:在所用的测试方法执行之前需要准备的资源。

@After:在所有的测试方法执行之后需要释放的资源。

public class CalculatorTest {

    @Before
    public void init() {
        System.out.println("初始话测试需要的资源。。");
    }

    @Test
    public void testAdd(){
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 5);
        Assert.assertEquals(7, result);
        System.out.println();
    }

    @After
    public void close() {
        System.out.println("关闭测试中使用到的资源");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值