Junit测试概述

(注:只是记录,不保证所有观点都是正确的)
常见的测试方式分类

  1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望值
  2. 白盒测试:一般需要写代码,关注于程序执行流程

Junit单元测试属于白盒测试。

使用步骤

  1. 定义一个测试类(一般放在XXXX.test包下)
  2. 定义测试方法:可以独立运行(建议方法名:testAdd() 返回值建议用void,参数列表建议空参)
  3. 给方法加注解@Test
  4. 导入Junit依赖 一般使用断言操作判断结果
public class CalculatorTest {
    @Test
    public void add(){
        Calculator calculator = new Calculator();
        int add = calculator.add(3, 5);
        //System.out.println(add);        
        //断言        
        Assertions.assertEquals(8,add);
    } 
} 

BeforeEach、BeforeAll、AfterEach与AfterAll

加这些注解的方案一般为public static void …

  • BeforeEach和BeforeAll修饰的方案一般用于资源申请
  • AfterEach与AfterAll一般用于资源释放

Junit中更换了注解的名称,Junit4中的已经在5中无法使用了

  • @BeforeEach (Junit4中为@Before)
    • 在每个测试方法之前执行。
    • 注解在非静态方法上。
    • 可以重新初始化测试方法所需要使用的类的某些属性。
  • @BeforeAll (Junit4中为@BeforeClass)
    • 在当前类中的所有测试方法之后执行。
    • 注解在静态方法上。
    • 此方法可以包含一些清理代码。
  • @AfterEach (Junit4中为@AfterClass)
    • 在每个测试方法之后执行。
    • 注解在非静态方法上。
    • 可以回滚测试方法引起的数据库修改。
  • @AfterAll (Junit4中为@AfterClass)
    • 在当前类中的所有测试方法之后执行。
    • 注解在静态方法上。
    • 此方法可以包含一些清理代码。

如果以上注解都有加上的话,那么执行顺序为 @BeforeAll method -> @BeforeEach method ->@Test method ->AfterEach method ->AfterAll method