728x90

 

본 글은 @Test 애너테이션에 대해 자세히 알지 못해 이를 공부한 내용을 정리한 글입니다.

 

@Test 어노테이션이란❓

@Test 어노테이션은 JUnit 프레임워크에서 테스트 메서드를 정의할 때 사용됩니다.

 

이 어노테이션이 붙은 메서드는 JUnit 테스트 실행기에서 자동으로 인식되며, 해당 메서드가 테스트 케이스로 실행됩니다.

주요 특징

 

테스트 메서드 표시

  • @Test가 붙은 메서드는 테스트로 간주되며, JUnit에 의해 실행됩니다.

Assertions 사용

  • 테스트 메서드 내에서는 다양한 assertion 메서드를 사용하여 예상 결과실제 결과를 비교할 수 있습니다. 예를 들어, assertEquals, assertTrue, assertNotNull 등이 있습니다.

예외 테스트

@Test(expected = IllegalArgumentException.class)
public void testException() {
    // 예외를 발생시킬 코드
}
  • 특정 예외가 발생해야 하는 테스트는 expected 속성을 사용하여 정의할 수 있습니다.

 

시간 제한

@Test(timeout = 1000) // 1초 내에 완료되지 않으면 실패
public void testTimeout() {
    // 테스트 코드
}
  • timeout 속성을 사용하여 테스트 메서드의 실행 시간을 제한할 수 있습니다.

 

@Test 어노테이션 예시

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class ExampleTest {

    @Test
    public void testAddition() {
        int result = 1 + 1;
        assertEquals(2, result, "1 + 1은 2여야 합니다.");
    }
}

 

의 예시에서 testAddition 메서드는 @Test 어노테이션으로 표시되어 JUnit에 의해 테스트로 실행됩니다. assertEquals 메서드를 사용하여 결과를 검증합니다.