위키득계정 ↗
기술

Inline-snapshot

Inline-snapshot기술
분류
인라인 스냅샷 시험 도구
연동 환경
Python과 pytest
주요 인터페이스
snapshot
저장 방식
코드 내부와 외부 파일
Inline-snapshot은 Python 시험 코드 안에 기대 결과를 스냅샷으로 보관하는 도구다. pytest 실행에서 변경할 값을 검토하고 기준 결과를 갱신하는 흐름을 제공한다.

코드 안의 기준값

비교할 기대 결과를 시험 코드 가까이에 둘 수 있다. 실행 결과에 맞춰 스냅샷을 만들거나 수정할 때에는 변경 내용을 검토한다. 출력이 새로 계산되었다는 사실이 그 값의 정확성을 입증하는 것은 아니므로 기준 채택은 별도 판단이다.

다양한 비교

동등 비교 외에 포함 관계나 상한과 하한 등 여러 비교 형태를 지원한다. 중첩 스냅샷과 동적인 값도 다룰 수 있다. 검증하려는 성질에 따라 비교 방식을 고르면 전체 출력을 그대로 고정할 필요가 없는 시험도 구성할 수 있다.

저장과 서식

큰 자료는 외부 파일에 보관하고 코드 생성 및 서식 동작을 조정할 수 있다. 일반 단언문의 기대값을 수정하는 기능도 제공한다. 시험 코드가 자동 수정될 수 있는 작업이므로 갱신 결과를 검토한 뒤 변경 이력에 반영한다.

관련 문서

Syrupy / Pytest-mock / Freezegun / Hypothesis 테스트 도구