JUnit5使用

代码实例

Maven依赖

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.5.2</version>
    <scope>test</scope>
<dependency>

测试对象

package com.test;

public class Calculator {
    private int sum(int a, int b) {
        reutrn a + b;
    }
}

测试代码

常用注解

  • @Test测试运行的方法
  • @BeforeEach运行测试类中每个测试方法之前先运行的方法
  • @AfterEach运行测试类中每个测试方法之后运行的方法
  • @BeforeAll运行测试类的所有测试方法之前运行的方法
  • @AfterAll运行测试类的所有测试方法之后运行的方法
package com.test;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class CalculatorTest {
    private static Calculator calculator;

    @BeforeAll
    public static void setUp() {
        Calculator.calculator = new Calculator();
    }

    @Test
    public void testSumWithNormal() {
        int a = 1;
        int b = 2;
        int result = calculator.sum(a, b);
        Assertions.assertEqual(3, result);
    }

    @Test
    public void testSumWithMaxValueAndMinValue() {
        int a = Integer.MAX_VALUE;
        int b = Integer.MIN_VALUE;
        int result = calculator.sum(a, b);
        Assertions.assertEquals(-1. result);
    }
}

断言抛出异常

Assertions.assertThrows(UsernameDuplicatedException.class, () -> userService.insertUser(user));

整合surefire插件

surefire插件版本需要3.0以上

<plugin>  
  <artifactId>maven-surefire-plugin</artifactId>  
  <version>3.0.0-M1</version>  
</plugin>

需要依赖junit-jupiter-engine这个包,这个包会依赖junit-jupiter-api

<dependency>  
  <groupId>org.junit.jupiter</groupId>  
  <artifactId>junit-jupiter-engine</artifactId>  
  <version>5.5.2</version>  
  <scope>test</scope>  
</dependency>