[java] Mockito를 사용하여 REST API 호출을 모킹하는 방법은?
Mockito는 Java에서 테스트 용도로 사용되는 강력한 mocking 프레임워크입니다. 여기서는 Mockito를 사용하여 REST API 호출을 모킹하는 방법을 알아보겠습니다.
- 의존성 추가
먼저, 프로젝트의 의존성에 Mockito를 추가해야 합니다. Maven을 사용한다면
pom.xml
파일에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.8.0</version>
<scope>test</scope>
</dependency>
- REST API 인터페이스 생성
REST API를 호출하는 인터페이스를 생성합니다. 예를 들어,
UserService
라는 인터페이스를 생성한다고 가정해보겠습니다.
public interface UserService {
User getUserById(String id);
void updateUser(User user);
}
- Mockito를 사용하여 모킹하기
테스트 메소드에서 Mockito를 사용하여 REST API 호출을 모킹할 수 있습니다. Mockito를 사용하기 위해
@Mock
어노테이션을 사용하여 UserService의 인스턴스를 생성하고@InjectMocks
어노테이션을 사용하여 테스트 대상 클래스에 모의 객체를 주입합니다.
@RunWith(MockitoJUnitRunner.class)
public class UserServiceTest {
@Mock
private UserService userService;
@InjectMocks
private MyService myService;
@Test
public void testUserService() {
// 모의 객체의 동작을 설정합니다.
User mockUser = new User("1", "John Doe");
when(userService.getUserById("1")).thenReturn(mockUser);
// 테스트 대상 메소드 호출
User user = myService.getUserById("1");
// 결과 검증
assertEquals(mockUser, user);
}
}
위의 예제에서 UserService
의 getUserById
메소드를 모킹하고, "1"
을 입력했을 때 mockUser
객체를 반환하도록 설정하였습니다. 이후에 myService.getUserById("1")
를 호출하고 그 결과를 검증하는 코드가 있습니다.
이렇게 Mockito를 사용하여 REST API 호출을 모킹할 수 있습니다. Mockito의 다양한 기능을 사용하여 테스트 시나리오에 맞게 모의 객체의 동작을 설정해보세요.
참고 자료: