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 메서드를 사용하여 결과를 검증합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.10.07 - @ModelAttribute가 자동 변환 할 수 없는 타입 (0) | 2024.10.07 |
---|---|
[TIL, 일일 회고] 2024.10.06 - AWS S3 요청 객체 (1) | 2024.10.06 |
[TIL, 일일 회고] 2024.10.04 -JPQL -> native query (0) | 2024.10.04 |
[TIL, 일일 회고] 2024.10.03 - GitHub Merge 이슈 재활용 (이슈번호와 제목을 함께 가져오는 방법) (1) | 2024.10.03 |
[TIL, 일일 회고] 2024.10.02 - nativeQuery란 무엇일까❓ : JPQL vs Native Query 성능 비교하기 (1) | 2024.10.02 |