java学习:Junit4单元测试的基本用法及注解和执行顺序

jupiter
2022-01-15 / 0 评论 / 682 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年01月15日,已超过825天没有更新,若内容或图片失效,请留言反馈。

1. Junit最简单的用法案例

  • 新建一个类被测试类,里面包含一些测试方法
package junit.util;
/**
 * 被测试类,通过Junit对此类的方法进行单元测试
 */
public class Claculate {
    public int add(int a, int b) {
    return a + b;
    }
    public int subtract(int a, int b) {
    return a - b;
    }
    public int multiply(int a, int b) {
    return a * b;
    }
    public int divide(int a, int b) {
    return a / b;
    }
}
  • 新建一个Junit的测试类用来测试上面的测试方法,新增Junit的测试类方法如下:

package junit.util;

import static org.junit.Assert.*;
import junit.util.Claculate;

import org.junit.Test;

/**
 * junit的测试方法必须使用@Test注解
 * 测试方法必须以public void修饰,并且不包含参数
 */
public class ClaculateTest {

    @Test
    public void testAdd() {
    /**
     * assertEquals这个方法是一个断言方法
     * 第一个参数表示预期的结果
     * 第二个参数表示程序的执行结果
     * 当预期结果与执行结果是一致的时候,则表示单元测试成功
     */
    assertEquals(4, new Claculate().add(1, 3));
    }


    @Test
    public void testSubtract() {
    assertEquals(4, new Claculate().subtract(9, 5));
    }

    @Test
    public void testMultiply() {
    assertEquals(6, new Claculate().multiply(2, 3));
    }

    @Test(expected=ArithmeticException.class)
    public void testDivide() {
    assertEquals(3, new Claculate().divide(9, 0));
    }
}

上面的这个测试类,分别对被测试类Claculate的四个方法进行了测试,测试是选择使用Junit方式进行执行,如果想要执行单个测试方法,可以选择单个方法进行执行

2.junit中的常用注解及执行顺序

2.1 常用注解

为什么引入注解?

在实际项目中,进行JUnit测试时,通常会涉及到一些初始化的东西,可能有些配置项需要在测试前进行加载的,JUnit提供了一些初始化的方法用于初始化

注解名作用
@Before初始化方法,对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)
@After释放资源,对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)
@Test测试方法,在这里可以测试期望异常和超时时间
@Ignore忽略的测试方法
@BeforeClass针对所有测试,只执行一次,且必须为static void
@AfterClass针对所有测试,只执行一次,且必须为static void

2.2 执行顺序

  • 一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 
  • 每一个测试方法的调用顺序为:
@Before -> @Test -> @After; 

参考资料

  1. junit用法,before,beforeClass,after, afterClass的执行顺序
  2. Junit4单元测试的基本用法
  3. Junit的基本使用(详解)
0

评论 (0)

打卡
取消