[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 스타일 모킹에 대한 소개를 마치겠습니다.
참고: