JUnit5常用注解

JUnit5常用注解

JUnit5的注解与JUnit4的注解有所变化

https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations

  • @Test :表示方法是测试方法。但是与JUnit4的@Test不同,他的职责非常单一不能声明任何属性,拓展的测试将会由Jupiter提供额外测试
  • @ParameterizedTest :表示方法是参数化测试,下方会有详细介绍
  • @RepeatedTest :表示方法可重复执行,下方会有详细介绍
  • @DisplayName :为测试类或者测试方法设置展示名称
  • @BeforeEach :表示在每个单元测试之前执行
  • @AfterEach :表示在每个单元测试之后执行
  • @BeforeAll :表示在所有单元测试之前执行
  • @AfterAll :表示在所有单元测试之后执行
  • @Tag :表示单元测试类别,类似于JUnit4中的@Categories
  • @Disabled :表示测试类或测试方法不执行,类似于JUnit4中的@Ignore
  • @Timeout :表示测试方法运行如果超过了指定时间将会返回错误
  • @ExtendWith :为测试类或测试方法提供扩展类引用

@DisplayName 为测试类或者测试方法设置展示名称

@DisplayName("junit5功能测试类")
public class Junit5Test {

    @DisplayName("测试DisplayName注解")
    @Test
    void testDisplayName(){
        System.out.println(1);
    }
}

在这里插入图片描述

@BeforeEach :表示在每个单元测试之前执行

@AfterEach :表示在每个单元测试之后执行

	@BeforeEach
    void testBeforeEach() {
        System.out.println("测试开始了");
    }

    @AfterEach
    void testAfterEach() {
        System.out.println("测试结束了");
    }

JUnit5常用注解_第1张图片

@BeforeAll :表示在所有单元测试之前执行

@AfterAll :表示在所有单元测试之后执行

@DisplayName("junit5功能测试类")
public class Junit5Test {

    @DisplayName("测试DisplayName注解")
    @Test
    void testDisplayName() {
        System.out.println(1);
    }

    @DisplayName("测试方法2")
    @Test
    void test2() {
        System.out.println(2);
    }

    @BeforeEach
    void testBeforeEach() {
        System.out.println("测试开始了");
    }

    @AfterEach
    void testAfterEach() {
        System.out.println("测试结束了");
    }
    @BeforeAll //:表示在所有单元测试之前执行
    static void testBeforeAll(){
        System.out.println("所有测试就要开始了");
    }
    @AfterAll// :表示在所有单元测试之后执行
    static void testAfterAll(){
        System.out.println("所有测试都要结束了");
    }

}

JUnit5常用注解_第2张图片

@Disabled :表示测试类或测试方法不执行

@Timeout :表示测试方法运行如果超过了指定时间将会返回错误

/**
     * 规定方法超出时间,超出时间测试出异常
     * @throws Exception
     */
    @Timeout(value = 500,unit = TimeUnit.MILLISECONDS)
    @Test
    void testTimeout()throws InterruptedException{
        Thread.sleep(600);
    }

@RepeatedTest :表示方法可重复执行

@RepeatedTest(4)
    void test3(){
        System.out.println(3);
    }

JUnit5常用注解_第3张图片

你可能感兴趣的:(JUnit5常用注解)