JUnit은 자바의 단위 테스트를 위한 프레임워크로, 테스트 코드 작성과 실행을 도와줍니다. JUnit에는 다양한 마크업 어노테이션이 포함되어 있으며, 이들을 사용하여 테스트 메서드를 정의하고 실행할 수 있습니다. 이번 포스트에서는 JUnit의 주요 마크업 어노테이션에 대해 알아보겠습니다.
@Test
@Test
어노테이션은 테스트 메서드임을 나타내는 어노테이션입니다. JUnit은 @Test
어노테이션이 붙은 모든 메서드를 테스트로 간주하고 실행합니다. 테스트 메서드는 반드시 public
으로 선언되어야 하며, void
형이어야 합니다. 예를 들어:
@Test
public void testAddition() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result);
}
위의 예제에서 testAddition
메서드는 @Test
어노테이션이 붙어있으므로 JUnit이 이를 테스트로 간주하고 실행합니다.
@Before, @After
@Before
어노테이션은 각각의 테스트 메서드가 실행되기 전에 실행되어야 하는 초기화 코드를 작성할 때 사용합니다. @Before
어노테이션이 붙은 메서드는 각각의 테스트 메서드 실행 전에 실행되므로, 테스트할 객체를 초기화하거나 테스트 환경을 설정하는데 사용할 수 있습니다.
반대로, @After
어노테이션은 각각의 테스트 메서드가 실행된 후에 실행되어야 하는 정리 코드를 작성할 때 사용합니다. @After
어노테이션이 붙은 메서드는 각각의 테스트 메서드 실행 후에 실행되므로, 테스트한 객체를 해제하거나 테스트 환경을 정리하는 등의 작업에 사용될 수 있습니다.
@Before
public void setUp() {
// 초기화 코드 작성
}
@After
public void tearDown() {
// 정리 코드 작성
}
@BeforeClass, @AfterClass
@BeforeClass
어노테이션은 모든 테스트 메서드가 실행되기 전에 한 번만 실행되어야 하는 초기화 코드를 작성할 때 사용합니다. @BeforeClass
어노테이션이 붙은 메서드는 모든 테스트 메서드 실행 전에 단 한 번 실행되므로, 테스트 환경을 설정하는 등의 작업에 사용할 수 있습니다.
반대로, @AfterClass
어노테이션은 모든 테스트 메서드가 실행된 후에 한 번만 실행되어야 하는 정리 코드를 작성할 때 사용합니다. @AfterClass
어노테이션이 붙은 메서드는 모든 테스트 메서드 실행 후에 단 한 번 실행되므로, 테스트 환경을 정리하는 등의 작업에 사용될 수 있습니다.
@BeforeClass
public static void setUpClass() {
// 초기화 코드 작성
}
@AfterClass
public static void tearDownClass() {
// 정리 코드 작성
}
@Ignore
@Ignore
어노테이션은 테스트를 일시적으로 무시할 때 사용합니다. @Ignore
어노테이션이 붙은 테스트 메서드는 JUnit이 실행하지 않으며, 테스트 결과에도 포함되지 않습니다. 이 어노테이션을 사용하여 테스트를 임시로 비활성화할 수 있습니다.
@Ignore
@Test
public void testDivision() {
// 나눗셈 테스트 코드 작성
}
결론
JUnit의 마크업 어노테이션을 적절히 활용하면 효과적인 단위 테스트 코드를 작성할 수 있습니다. @Test
, @Before
, @After
, @BeforeClass
, @AfterClass
, @Ignore
등의 어노테이션을 사용하여 테스트 메서드의 실행 순서와 환경을 조절할 수 있습니다. 이를 통해 안정적이고 신뢰할 수 있는 테스트 스위트를 구성할 수 있습니다.