[java] 자바 스프링 부트 테스트 방법
이 포스트에서는 자바 스프링 부트 애플리케이션을 테스트하는 방법을 알아보겠습니다.
유닛 테스트
유닛 테스트는 단일 컴포넌트 또는 모듈을 격리하여 테스트하는 것을 말합니다. 스프링 부트 애플리케이션에서는 @RunWith(SpringRunner.class)
애노테이션과 @SpringBootTest
애노테이션을 사용하여 유닛 테스트를 작성할 수 있습니다.
예를 들어, 다음과 같이 테스트를 작성할 수 있습니다:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.assertEquals;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyServiceTest {
@Autowired
private MyService myService;
@Test
public void testMyService() {
String result = myService.doSomething();
assertEquals("expectedResult", result);
}
}
위 예제에서는 MyService
클래스의 doSomething
메서드를 테스트하고 있습니다.
통합 테스트
통합 테스트는 각 모듈의 상호 작용을 테스트하는 것을 말합니다. 스프링 부트 애플리케이션에서는 @RunWith(SpringRunner.class)
와 @SpringBootTest
애노테이션을 사용하여 통합 테스트를 작성할 수 있습니다.
예를 들어, 다음과 같이 테스트를 작성할 수 있습니다:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.assertEquals;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyIntegrationTest {
@Autowired
private MyRepository myRepository;
@Test
public void testMyRepository() {
String result = myRepository.getData();
assertEquals("expectedResult", result);
}
}
마무리
이렇게 자바 스프링 부트 애플리케이션을 테스트할 수 있습니다. 유닛 테스트와 통합 테스트를 활용하여 애플리케이션의 각 부분을 격리하여 효율적으로 테스트할 수 있습니다.
더 많은 정보는 공식 스프링 부트 문서를 참고하세요.