JUnit5常用注解
JUnit5的注解与JUnit4的注解有所变化
- @Test :表示方法是测试方法。但是与JUnit4的@Test不同,他的职责非常单一不能声明任何属性,拓展的测试将会由Jupiter提供额外测试
- @ParameterizedTest :表示方法是参数化测试,
- @RepeatedTest :表示方法可重复执行,需要传参数为重复几次,
- @DisplayName :为测试类或者测试方法设置展示名称
- @BeforeEach :表示在每个单元测试之前执行
- @AfterEach :表示在每个单元测试之后执行
- @BeforeAll :表示在所有单元测试之前执行,该方法必须是静态的。
- @AfterAll :表示在所有单元测试之后执行,该方法必须是静态的。
- @Tag :表示单元测试类别,类似于JUnit4中的@Categories
- @Disabled :表示测试类或测试方法不执行,类似于JUnit4中的@Ignore,此注解对@BeforeEach,@BeforeAll,@AfterEach和@AfterAll没有用,就算加上,方法也会执行。
- @Timeout :表示测试方法运行如果超过了指定时间将会返回错误
- @ExtendWith :为测试类或测试方法提供扩展类引用 ```java package com.rit.demo.test;
import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;
import com.rit.demo.pojo.User; import com.rit.demo.service.UserService;
@SpringBootTest public class Tests {
@Autowiredprivate UserService us;@Test@DisplayName("第一次測試")public void firstTest() {System.out.println("hello word");}@Disabled@Testpublic void T() {System.out.println("userService=========="+us);User user=us.queryById(1);System.out.println(user.getName());}@BeforeEach@DisplayName("每個測試單元之前執行")public void beforeTest() {System.out.println("每個測試單元之前執行");}@BeforeAll@DisplayName("每個測試單元之前執行")public static void beforeAllTest() {System.out.println("所有測試單元之前執行");}@AfterEach@DisplayName("每個測試單元之后執行")public void afterTest() {System.out.println("每個測試單元之后執行");}@AfterAll@DisplayName("所有測試單元之后執行")@Disabledpublic static void afterAllTest() {System.out.println("所有測試單元之后執行");}@Disabled@DisplayName("此方法不執行")public void disTest() {System.out.println("此方法不執行");}/*** @RepeatedTest(5) 裡面參數傳重複次數* @Title: reTest* @author Emily1_Zhang*/@RepeatedTest(5)@DisplayName("此方法可重複執行")public void reTest() {System.out.println("此方法可重複執行");}
} ```
