美文网首页
Junit5常用注解

Junit5常用注解

作者: 羋学僧 | 来源:发表于2022-08-23 16:08 被阅读0次
    • @BeforeAll:表示在所有单元测试之前执行,只执行一次

    • @BeforeEach:表示在每个单元测试之前执行,假如测试类有n个测试方法,则被执行n次

    • @Test:表示方法是测试方法。但是与junit4的@Test不同,它的职责非常单一,不能声明任何属性,拓展的测试将会由Jupiter提供额外测试

    • @AfterEach:表示在每个单元测试之后执行,假如测试类有n个测试方法,则被执行n次。

    • @AfterAll:表示在所有单元测试之后执行,只执行一次

    • @RepeatedTest:表示方法额外执行的次数

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

    • @Tag:表示单元测试类别,类似于Junit4中的@Categories
      表示为测试类或测试方法打一个标签。一般来说不能单独使用,需要配合其他的标签一起使用,具体详看Junit5套件执行
    • @Disabled:表示不执行
    public class DemoTest {
        /**
         * @BeforeAll和@AfterAll 必须静态修饰,在所有方法执行前后只执行一次
         * @Test 一个方法
         * @AfterEach和@BeforeEach 每次方法执行前都会执行一次
         * @DisplayName() 类似注解的功能
         * @RepeatedTest(5) 重复5次
         * @Disabled 不执行该方法
         * @Tags 打标签
         */
        @BeforeAll
        public static void beforeAll() {
            System.out.println("BeforeAll再每个类中只执行一次,且是在开头执行");
        }
    
        @BeforeEach
        public void beforeEach() {
            System.out.println("BeforeEach在每个方法执行前都会执行一次");
        }
    
        // junit5不需要访问修饰符
        //  @Disabled表示不执行
        @Test
        @Disabled
        @DisplayName("方法1")
        void fun1() {
            System.out.println("---fun1---");
        }
    
        @Test
        @DisplayName("方法2")
        @RepeatedTest(5)
        void fun2() {
            System.out.println("---fun2---");
        }
    
        @Test
        @Tag("tag1")
        void tagTest(){
            System.out.println("tag1");
        }
    
        @AfterEach
        public void afterEach() {
            System.out.println("AfterEach在每个方法执行后都会执行一次");
        }
    
        @AfterAll
        public static void afterAll() {
            System.out.println("afterAll再每个类中只执行一次,且是在结尾执行");
        }
    }
    
    • @ParameterizedTest:表示方法是参数化测试
      具体详看jUnit5参数化
    public class DemoTestParams {
        @ParameterizedTest
        @ValueSource(ints = {1, 2, 3,4})
        void testWithValueSource(int argument) {
            assertTrue(argument > 0 && argument < 4);
        }
    }
    
    • @Timeout:表示测试方法超过了指定时间将返回错误

    • @ExtendWith:为测试类或测试方法提供扩展类引用

    • @Nested:表示嵌套执行

    相关文章

      网友评论

          本文标题:Junit5常用注解

          本文链接:https://www.haomeiwen.com/subject/ymsggrtx.html