위키득계정 ↗
기술

Pytest-mock

Pytest-mock기술
분류
pytest 모킹 플러그인
주요 픽스처
mocker
주요 기능
patch와 spy 및 stub
검증 대상
호출 인자와 반환 및 예외
Pytest-mock는 Python 모킹 API를 pytest 픽스처로 제공하는 플러그인이다. 함수 대체와 호출 관찰을 구성하고 시험 범위가 끝나면 적용한 모킹을 정리한다.

대체와 관찰

patch는 시험 대상이 참조하는 동작을 대체하고 spy는 원래 동작을 실행하면서 호출과 결과를 기록한다. 의존 동작을 제거할지 실제 실행을 유지할지에 따라 선택이 달라진다. 같은 호출 기록을 확인하더라도 두 방식의 시험 범위는 다르다.

픽스처의 수명

mocker는 모킹의 정리를 pytest 수명 주기에 연결한다. 클래스나 모듈 등 다른 범위에서 사용할 픽스처도 제공한다. 넓은 범위를 선택하면 여러 시험이 같은 설정의 영향을 받을 수 있으므로 필요한 수명을 기준으로 구성한다.

비동기 호출의 검사

비동기 스텁은 호출되었는지와 반환된 대기 가능 객체가 실제로 await 되었는지를 따로 기록한다. 호출 횟수만으로 비동기 작업의 대기까지 확인할 수는 없다. 기대하는 동작에 맞게 호출 검증과 await 검증을 구분한다.

관련 문서

Requests-mock / RESPX / Aioresponses / Nock