위키득계정 ↗
기술

Syrupy

Syrupy기술
분류
스냅샷 시험 플러그인
주요 픽스처
snapshot
기본 동작
누락과 차이를 실패로 처리
확장 지점
직렬화와 스냅샷 확장
Syrupy는 계산 결과를 저장된 스냅샷과 비교하는 pytest 플러그인이다. 문자열과 객체 등의 출력이 이전에 검토한 결과에서 달라졌는지 확인하는 데 활용한다.

기준 결과와의 비교

시험에서 계산한 값을 스냅샷과 비교한다. 기준 스냅샷이 없으면 자동으로 통과시키지 않고 실패로 처리한다. 처음 기준을 만들 때에도 출력이 올바른지 사람이 검토해야 이후의 비교가 의미를 갖는다.

갱신과 검토

명시적인 갱신 옵션으로 스냅샷을 작성하거나 변경할 수 있다. 일반적인 갱신에서는 사용하지 않는 스냅샷의 정리도 함께 일어날 수 있다. 차이가 발생했다는 이유만으로 기준을 바꾸지 말고 의도한 변경인지 확인하는 절차가 필요하다.

비교 범위의 조정

직렬화 방식을 확장하거나 객체의 특정 속성을 포함 또는 제외하도록 구성할 수 있다. 매 실행마다 달라지는 값은 비교 목적에 맞게 처리한다. 지나치게 많은 정보를 제외하면 중요한 차이도 놓칠 수 있으므로 실제 검증하려는 출력을 기준으로 범위를 정한다.

관련 문서

Pytest-mock / Pytest-cov / Freezegun / Faker Python 라이브러리