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

    1. import org.junit.jupiter.api.*;
    2. @DisplayName("junit5功能测试类")
    3. public class Junit5Test {
    4. @DisplayName("测试displayname注解")
    5. @Test
    6. void testDisplayName() {
    7. System.out.println(1);
    8. System.out.println(jdbcTemplate);
    9. }
    10. @ParameterizedTest
    11. @ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
    12. void palindromes(String candidate) {
    13. assertTrue(StringUtils.isPalindrome(candidate));
    14. }
    15. @Disabled
    16. @DisplayName("测试方法2")
    17. @Test
    18. void test2() {
    19. System.out.println(2);
    20. }
    21. @RepeatedTest(5)
    22. @Test
    23. void test3() {
    24. System.out.println(5);
    25. }
    26. /**
    27. * 规定方法超时时间。超出时间测试出异常
    28. *
    29. * @throws InterruptedException
    30. */
    31. @Timeout(value = 500, unit = TimeUnit.MILLISECONDS)
    32. @Test
    33. void testTimeout() throws InterruptedException {
    34. Thread.sleep(600);
    35. }
    36. @BeforeEach
    37. void testBeforeEach() {
    38. System.out.println("测试就要开始了...");
    39. }
    40. @AfterEach
    41. void testAfterEach() {
    42. System.out.println("测试结束了...");
    43. }
    44. @BeforeAll
    45. static void testBeforeAll() {
    46. System.out.println("所有测试就要开始了...");
    47. }
    48. @AfterAll
    49. static void testAfterAll() {
    50. System.out.println("所有测试以及结束了...");
    51. }
    52. }