[python] pytest-mockito를 사용한 Mockito 스타일 모킹

이 기술 블로그에서는 Python 프로젝트에서 테스트 더블(Mockito 스타일 모킹)을 사용하는 방법을 알아보겠습니다.

목차


pytest-mockito 소개

pytest-mockito는 Mockito와 유사한 스타일의 테스트 더블을 생성하기 위한 도구입니다. 이를 통해 테스트 중에 특정 객체의 메서드 호출을 가로채고 결과를 조작할 수 있습니다.

pytest-mockito 설치

pytest-mockito는 pip를 통해 간단히 설치할 수 있습니다.

pip install pytest-mockito

이제 pytest-mockito를 설치했으니, 테스트 코드에서 사용할 수 있습니다.

pytest-mockito를 사용한 모킹 예제

다음은 UserService 클래스의 get_user 메서드를 모킹하는 간단한 예제입니다.

from mockito import mock, when
from app.service import UserService

def test_get_user():
    # 모킹할 객체 생성
    user_service = mock(UserService)

    # 모킹된 메서드의 반환값 설정
    when(user_service).get_user(1).thenReturn({"id": 1, "name": "John"})

    # 모킹된 메서드 호출 및 결과 확인
    assert user_service.get_user(1) == {"id": 1, "name": "John"}

위의 예제에서는 UserService 클래스의 get_user 메서드를 모킹하여 특정 ID에 대한 사용자 정보를 반환하도록 설정하고, 이를 테스트하는 방법을 보여줍니다.

결론

pytest-mockito를 사용하면 Python 프로젝트에서 Mockito 스타일의 모킹을 간편하게 수행할 수 있습니다. 이를 통해 테스트 코드를 작성하고, 의존성을 가진 코드를 빠르게 테스트할 수 있습니다.

이상으로 pytest-mockito를 사용한 Mockito 스타일 모킹에 대한 소개를 마치겠습니다.


참고: