λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
TIL

02/21(수) 내일배움캠프 Java 41일차 TIL - ν…ŒμŠ€νŠΈμ½”λ“œ(1)

by 감자개발꾼 2024. 2. 21.

 

πŸ“–  μ˜€λŠ˜μ˜ ν•™μŠ΅ ν‚€μ›Œλ“œ

  • ν…ŒμŠ€νŠΈμ½”λ“œ

 

πŸ₯”  Before - After

@BefodrEach

: 각각의 ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° 전에 μˆ˜ν–‰λ˜λŠ” λ©”μ„œλ“œλ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

@BeforeEach
void setUp() {
    System.out.println("각각의 ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° 전에 μˆ˜ν–‰");
}

 

@AfterEach

: 각각의 ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μ‹€ν–‰λœ 후에 μˆ˜ν–‰λ˜λŠ” λ©”μ„œλ“œλ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

@AfterEach
void tearDown() {
    System.out.println("각각의 ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μ‹€ν–‰λœ 후에 μˆ˜ν–‰\n");
}

 

@BeforeAll

: λͺ¨λ“  ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μˆ˜ν–‰λ˜κΈ° 전에 졜초둜 μˆ˜ν–‰λ˜λŠ” λ©”μ„œλ“œλ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

: ❗️ static λ©”μ„œλ“œλ‘œ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

@BeforeAll
static void beforeAll() {
    System.out.println("λͺ¨λ“  ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° 전에 초초둜 μˆ˜ν–‰\n");
}

 

@AfterAll

: λͺ¨λ“  ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μˆ˜ν–‰λœ ν›„ λ§ˆμ§€λ§‰μœΌλ‘œ μˆ˜ν–‰λ˜λŠ” λ©”μ„œλ“œλ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

: ❗️ static λ©”μ„œλ“œλ‘œ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

@AfterAll
static void afterAll() {
    System.out.println("λͺ¨λ“  ν…ŒμŠ€νŠΈ μ½”λ“œκ°€ μˆ˜ν–‰λœ ν›„ λ§ˆμ§€λ§‰μœΌλ‘œ μˆ˜ν–‰");
}

 

 

πŸ₯”  ν…ŒμŠ€νŠΈ κΎΈλ―ΈκΈ°

@DisplayName

: ν…ŒμŠ€νŠΈμ˜ λ‚΄μš©μ„ ν•œλˆˆμ— μ•Œμ•„λ³Ό 수 있게 넀이밍 해쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

: ν…ŒμŠ€νŠΈμ˜ μˆ˜ν–‰ λ‚΄μš©λ“€μ„ λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@Test
@DisplayName("ν…ŒμŠ€νŠΈμ˜ λ‚΄μš©μ„ ν•œλˆˆμ— μ•Œμ•„λ³Ό 수 있게 넀이밍 해쀄 수 μžˆμŠ΅λ‹ˆλ‹€.")
void test1() {
    System.out.println("ν…ŒμŠ€νŠΈμ˜ μˆ˜ν–‰ λ‚΄μš©λ“€μ„ λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.");
}

 

@Nested

: 주제 λ³„λ‘œ ν…ŒμŠ€νŠΈλ₯Ό κ·Έλ£Ήμ§€μ–΄μ„œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@Nested
@DisplayName("주제 λ³„λ‘œ ν…ŒμŠ€νŠΈλ₯Ό κ·Έλ£Ήμ§€μ–΄μ„œ νŒŒμ•…ν•˜κΈ° μ’‹μŠ΅λ‹ˆλ‹€.")
class Test1 {
    @Test
    @DisplayName("Test1 - test1()")
    void test1() {
        System.out.println("Test1.test1");
    }

    @Test
    @DisplayName("Test1 - test2()")
    void test2() {
        System.out.println("Test1.test2");
    }
}

@Nested
@DisplayName("Test2 λ‹€λ₯Έ 주제")
class Test2 {
    @Test
    @DisplayName("Test2 - test1()")
    void test1() {
        System.out.println("Test2.test1");
    }

    @Test
    @DisplayName("Test2 - test2()")
    void test2() {
        System.out.println("Test2.test2");
    }
}

 

@Order

: ν…ŒμŠ€νŠΈλ₯Ό λ©”μ„œλ“œ λ‹¨μœ„λ‘œ μˆœμ„œλ₯Ό 맀길 λ–„λŠ”

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)

μ• λ„ˆν…Œμ΄μ…˜ 섀정을 ν•΄μ•Όν•©λ‹ˆλ‹€.

: 그런 λ‹€μŒ μ›ν•˜λŠ” μˆœμ„œμ— 맞게 λ©”μ„œλ“œμ— @Order(?) μ• λ„ˆν…Œμ΄μ…˜μ„ μΆ”κ°€ν•˜κ³  () μ•ˆμ— μˆœμ„œλ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

@Nested
@DisplayName("주제 λ³„λ‘œ ν…ŒμŠ€νŠΈλ₯Ό κ·Έλ£Ήμ§€μ–΄μ„œ νŒŒμ•…ν•˜κΈ° μ’‹μŠ΅λ‹ˆλ‹€.")
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class Test1 {

    @Order(1)
    @Test
    @DisplayName("Test1 클래슀")
    void test() {
        System.out.println("\nTest1 클래슀");
    }

    @Order(3)
    @Test
    @DisplayName("Test1 - test1()")
    void test1() {
        System.out.println("Test1.test1");
    }

    @Order(2)
    @Test
    @DisplayName("Test1 - test2()")
    void test2() {
        System.out.println("Test1.test2");
    }
}

 

 

πŸ“š  μ˜€λŠ˜μ˜ 회고

ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±μ΄ λ„ˆλ¬΄ μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ ν¬κΈ°ν•˜μ§€ μ•Šκ³  μ˜€λŠ˜λ„ μ—΄μ‹¬νžˆ 과제λ₯Ό ν’€μ–΄λ‚˜κ°‘μ‹œλ‹€!!