"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 단위 테스트에서 요청과 응답을 어떻게 모의할 수 있습니까?

Python 단위 테스트에서 요청과 응답을 어떻게 모의할 수 있습니까?

2024년 11월 23일에 게시됨
검색:693

How Can We Mock Requests and Responses in Python Unit Testing?

요청 및 응답을 모의하는 방법

소개

Python의 단위 테스트에는 모의 작업이 포함되는 경우가 많습니다. 실제 시나리오를 시뮬레이션하기 위한 외부 종속성. 모의를 사용하면 이러한 종속성의 동작을 제어하여 테스트에 더 큰 안정성과 예측 가능성을 제공할 수 있습니다. 이 문서에서는 효과적인 단위 테스트를 촉진하기 위해 Python의 요청 모듈과 해당 응답을 모의하는 방법을 보여줍니다.

1단계: 요청 모의 모듈

요청 모듈을 모의하려면 다음을 활용하세요. 표준 라이브러리의 모의 모듈:

import mock

설정 단계에서 요청 모듈에 대한 모의 객체를 생성합니다. 테스트 메소드:

mockedRequests = mock.Mock()

get() 메소드가 호출될 때 다양한 URL에 대한 특정 응답을 반환하도록 모의 객체를 구성합니다.

mockedRequests.get.side_effect = [
    # First URL: Return 'a response'
    mock.Mock(status_code=200, text='a response'),
    # Second URL: Return 'b response'
    mock.Mock(status_code=200, text='b response'),
    # Third URL: Return 'c response'
    mock.Mock(status_code=200, text='c response')
]

2단계: 뷰 호출

요청 모듈을 모의한 상태에서 요청을 만드는 뷰의 함수를 호출합니다.

res1 = mockedRequests.get('aurl')
res2 = mockedRequests.get('burl')
res3 = mockedRequests.get('curl')

3단계: 응답 확인

요청 모듈이 모형화되었으므로 응답에서 예상 값을 쉽게 확인할 수 있습니다. :

self.assertEqual(res1.text, 'a response')
self.assertEqual(res2.text, 'b response')
self.assertEqual(res3.text, 'c response')
릴리스 선언문 이 글은 1729424657에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3