대체와 관찰
patch는 시험 대상이 참조하는 동작을 대체하고 spy는 원래 동작을 실행하면서 호출과 결과를 기록한다. 의존 동작을 제거할지 실제 실행을 유지할지에 따라 선택이 달라진다. 같은 호출 기록을 확인하더라도 두 방식의 시험 범위는 다르다.
픽스처의 수명
mocker는 모킹의 정리를 pytest 수명 주기에 연결한다. 클래스나 모듈 등 다른 범위에서 사용할 픽스처도 제공한다. 넓은 범위를 선택하면 여러 시험이 같은 설정의 영향을 받을 수 있으므로 필요한 수명을 기준으로 구성한다.
비동기 호출의 검사
비동기 스텁은 호출되었는지와 반환된 대기 가능 객체가 실제로 await 되었는지를 따로 기록한다. 호출 횟수만으로 비동기 작업의 대기까지 확인할 수는 없다. 기대하는 동작에 맞게 호출 검증과 await 검증을 구분한다.
관련 문서
Requests-mock / RESPX / Aioresponses / Nock