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


道也者,不可须臾离者也,可离非道也。