◽ Spring, SpringBoot

[Spring - 라이브러리(dependency)] "JUnit" 테스트 지원 어노테이션 [ @Test, @Ignore, @Before, @After, @BeforeClass, @AfterClass ]

   JUnit(제이유닛)은 자바 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발 면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 이름의 유닛 테스트 프레임워크 계열의 하나이다.

JUnit은 컴파일 타임에 JAR로서 링크된다. 프레임워크는 JUnit 3.8 이하의 경우 junit.framework 패키지 밑에 상주하며, JUnit 4 이상의 경우 org.junit 패키지 밑에 상주한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import org.junit.*;
 
public class FoobarTest {
    @BeforeClass
    public static void setUpClass() throws Exception {
        // Code executed before the first test method
    }
 
    @Before
    public void setUp() throws Exception {
        // Code executed before each test
    }
 
    @Test
    public void testOneThing() {
        // Code that tests one thing
    }
 
    @Test
    public void testAnotherThing() {
        // Code that tests another thing
    }
 
    @Test
    public void testSomethingElse() {
        // Code that tests something else
    }
 
    @After
    public void tearDown() throws Exception {
        // Code executed after each test
    }
 
    @AfterClass
    public static void tearDownClass() throws Exception {
        // Code executed after the last test method
    }
}
 

 

 

@Test

  • @Test가 선언된 메서드는 테스트를 수행하는 메소드가 됩니다.
  • Junit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행되는 것을 원칙으로 하므로 @Test 마다 객체를 생성하여 내부적으로 실행이 된다.

 

@Ignore

  • @Ignore가 선언된 메서드는 테스트를 실행하지 않게 합니다.

 

@Before

  • @Before가 선언된 메서드는 @Test 메소드가 실행되기 전에 반드시 실행되어 집니다.
  • @Test 메소드에서 공통으로 사용하는 코드를 @Before 메소드에 선언하여 사용하면 됩니다.

 

@After

  • @After가 선언된 메서드는 @Test 메소드가 실행된 후 실행됩니다.
  • 테스트시 사용한 자원을 해제할 때 사용합니다.

 

@BeforeClass

  • @BeforeClass 어노테이션은 @Test 메소드 보다 먼저 한번만 수행되어야 할 경우에 사용합니다.

 

@AfterClass

  •  @AfterClass 어노테이션은 @Test 메소드 보다 나중에 한번만 수행되어야 할 경우에 사용하면 된다.

푸터바