[java] Mockito를 사용하여 REST API 호출을 모킹하는 방법은?

Mockito는 Java에서 테스트 용도로 사용되는 강력한 mocking 프레임워크입니다. 여기서는 Mockito를 사용하여 REST API 호출을 모킹하는 방법을 알아보겠습니다.

  1. 의존성 추가 먼저, 프로젝트의 의존성에 Mockito를 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음과 같이 의존성을 추가합니다.
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.8.0</version>
    <scope>test</scope>
</dependency>
  1. REST API 인터페이스 생성 REST API를 호출하는 인터페이스를 생성합니다. 예를 들어, UserService라는 인터페이스를 생성한다고 가정해보겠습니다.
public interface UserService {
    User getUserById(String id);
    void updateUser(User user);
}
  1. 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);
    }
}

위의 예제에서 UserServicegetUserById 메소드를 모킹하고, "1"을 입력했을 때 mockUser 객체를 반환하도록 설정하였습니다. 이후에 myService.getUserById("1")를 호출하고 그 결과를 검증하는 코드가 있습니다.

이렇게 Mockito를 사용하여 REST API 호출을 모킹할 수 있습니다. Mockito의 다양한 기능을 사용하여 테스트 시나리오에 맞게 모의 객체의 동작을 설정해보세요.

참고 자료: