λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

@Beafore, @After μ–΄λ…Έν…Œμ΄μ…˜ μ•Œμ•„λ³΄κΈ°

by μž‰γ…ˆI 2023. 10. 27.

 

πŸ’‘ @BeforeAll, @AfterAll μ€ λ°˜λ“œμ‹œ static 으둜 μ„ μ–Έ

<μ£Όμš” μ–΄λ…Έν…Œμ΄μ…˜>

  • @BeforeEach: 각각의 ν…ŒμŠ€νŠΈ λ©”μ„œλ“œ μ‹€ν–‰ 이전에 맀번 μ‹€ν–‰ (JUnit4: @Before)
  • @BeforeAll: ν˜„μž¬ 클래슀의 λͺ¨λ“  ν…ŒμŠ€νŠΈ λ©”μ„œλ“œ μ‹€ν–‰ 이전에 ν•œ 번만 μ‹€ν–‰ (JUnit4: @BeforeClass)
  • @AfterEach: 각각 ν…ŒμŠ€νŠΈ λ©”μ†Œλ“œ μ‹€ν–‰ 이후에 μ‹€ν–‰ (JUnit4: @After)
  • @AfterAll: ν˜„μž¬ 클래슀의 λͺ¨λ“  ν…ŒμŠ€νŠΈ λ©”μ†Œλ“œ μ‹€ν–‰ 이후에 ν•œλ²ˆλ§Œ μ‹€ν–‰ ( (JUnit4: @AfterClass)
  • @Disabled : ν…ŒμŠ€νŠΈ ν΄λž˜μŠ€λ‚˜, λ©”μ†Œλ“œμ˜ ν…ŒμŠ€νŠΈλ₯Ό λΉ„ν™œμ„±ν™”

@Before λ©”μ„œλ“œ

  • ν…ŒμŠ€νŠΈ 두 개 이상 μ€‘λ³΅λœ 둜직 가지고 μžˆμ„ λ•Œ @Before λ©”μ„œλ“œ μ‚¬μš©
  • @Before μ–΄λ…Έν…Œμ΄μ…˜μœΌλ‘œ ν‘œμ‹œλœ λ©”μ„œλ“œ λ¨Όμ € μ‹€ν–‰
  • @BeforeEachλŠ” 곡톡적인 Param 및 섀정을 ν• λ•Œ 호좜되면 유용

@After λ©”μ„œλ“œ

  • @After μ–΄λ…Έν…Œμ΄μ…˜μœΌλ‘œ ν‘œμ‹œλœ λ©”μ„œλ“œ λ‚˜μ€‘ μ‹€ν–‰
  • @AfterEachλŠ” 주둜 μ‚¬μš©λ˜κ³  λ‚œ ν›„ μ’…λ£Œλ˜μ–΄μ•Όν•  λ¦¬μ†ŒμŠ€λ₯Ό μ²˜λ¦¬ν•˜λŠ” λΆ€λΆ„μœΌλ‘œ μ‚¬μš©

μ–΄λ…Έν…Œμ΄μ…˜ μ‹€ν–‰ μ½”λ“œ

class MyClassTest {
    @Test
    void create() {
        MyClass myclass = new MyClass();
        assertNotNull(myclass);
        System.out.println("create");
    }

    @Test
	//@Disabled
    void create1() {
        System.out.println("create1");
    }

    @BeforeAll
    static void beforeAll() {
        System.out.println("before all");
    }

    @AfterAll
    static void afterAll() {
        System.out.println("after all");
    }

    @BeforeEach
    void beforeEach() {
        System.out.println("before each");
    }

    @AfterEach
    void afterEach() {
        System.out.println("after each");
    }

}

κ²°κ³Ό μ½”λ“œ

before all

before each
create
after each

before each
create1
after each

after all

 

@Disabled 주석을 μ œκ±°ν•œλ‹€λ©΄, κ²°κ³Όμ½”λ“œ

before all 
before each 
create1
after each 
after all