위키득계정 ↗
기술

Go-snaps

Go-snaps기술
분야
스냅샷 테스트
언어
Go
대상
일반 값과 JSON 및 YAML
기준 관리
파일 또는 인라인 방식
Go-snaps는 Go 테스트의 결과를 스냅샷으로 보관하고 다음 실행과 비교하는 라이브러리다. 구조화된 자료의 비교와 필드별 매처, 기준 갱신과 정리 기능을 제공한다.

결과의 형태를 비교하기

많은 필드를 가진 결과는 단언을 하나씩 나열하기 어려울 수 있다. Go-snaps는 실행 결과를 기준 자료와 비교해 변화를 드러낸다. 여러 스냅샷을 파일에 모으거나 별도 파일로 나누는 방식을 선택할 수 있다. 기준을 처음 만들거나 갱신할 때는 내용이 요구사항과 맞는지 사람이 검토해야 한다.

변동 필드와 조건

JSON과 YAML의 특정 경로에 매처를 적용해 값의 종류나 사용자 조건을 확인할 수 있다. 모든 값을 그대로 고정할 필요는 없지만 너무 넓은 대체 조건은 중요한 변화도 숨긴다. 소스 코드 안에 기준을 넣는 인라인 기능은 실험적 상태라는 점도 구분한다. 파일 형식과 저장 위치는 검토하기 쉬운 구조로 관리한다.

자동 빌드와 정리

CI 환경을 감지하면 기준 누락이나 차이를 실패로 다루지만 갱신 설정으로 그 동작을 바꿀 수 있다. 자동 빌드에서 무조건 갱신하면 검사 의미가 약해질 수 있다. 사용하지 않는 기준 정리에는 모든 검사 종료 시점이 중요하며 건너뛴 검사와 삭제한 검사를 구분해야 한다. 스냅샷 통과는 결과 변화가 없다는 뜻이며 의미적 정확성을 모두 보장하지는 않는다.

관련 문서

Syrupy / Snapshooter / Verify 스냅샷 도구 / Inline-snapshot