[java] JUnit에서 시간 제한된 테스트 작성하기

JUnit은 단위 테스트를 작성하고 실행하는 데 사용되는 인기 있는 자바 테스팅 프레임워크입니다. 때로는 우리는 어떤 작업이 지정된 시간 안에 완료되는지 테스트하고 싶을 수 있습니다. 이러한 경우 JUnit에서는 시간을 제한한 테스트를 작성할 수 있습니다.

1. Timeout 어노테이션 사용

JUnit에서 시간 제한된 테스트를 작성하려면 @Test 어노테이션과 함께 Timeout 어노테이션을 사용합니다. 아래는 간단한 예제 코드입니다.

import org.junit.Test;
import org.junit.rules.Timeout;

public class TimeoutTest {

    @Test(timeout = 1000)
    public void testTimeout() {
        // 시간 제한 내에 완료되어야 하는 코드
    }
}

위의 코드에서 @Test 어노테이션과 함께 timeout 속성을 사용하여 시간 제한을 설정하였습니다. 위의 예제에서는 testTimeout 메서드가 1초 안에 실행을 완료해야 합니다.

2. Timeout 규칙 사용

또 다른 방법은 Timeout 규칙을 사용하는 것입니다. 규칙을 사용하면 여러 테스트 메서드에 쉽게 적용할 수 있습니다.

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.Timeout;

public class TimeoutTest {

    @Rule
    public Timeout globalTimeout = Timeout.seconds(1);

    @Test
    public void testTimeout() {
        // 시간 제한 내에 완료되어야 하는 코드
    }
}

위의 코드에서 Timeout.seconds(1)은 1초 동안 테스트가 완료되어야 함을 나타냅니다.

마무리

JUnit을 사용하여 시간 제한된 테스트를 작성하는 방법을 살펴보았습니다. 이를 통해 코드가 정해진 시간 내에 예상대로 동작하는지 확인할 수 있습니다.

더 많은 정보를 원하시면 JUnit 공식 문서를 참고하세요.