위키득계정 ↗
기술

Snapbox

Snapbox기술
분야
Rust 스냅샷 검사
대상
함수와 명령 및 디렉터리
기준 자료
소스 내부 값 또는 파일
구성 방식
상위 도구와 낮은 수준의 부품
Snapbox는 Rust에서 함수 결과와 명령행 출력 및 파일 변화를 스냅샷으로 비교하는 도구 모음이다. 개별 검사에 맞게 비교 방식을 구성하거나 사용자 정의 실행기를 만드는 데 활용할 수 있다.

결과를 기준 자료와 비교하기

함수의 반환 내용이나 실제 출력과 미리 정한 기대 자료가 일치하는지 확인한다. 기대값을 소스 내부에 두거나 별도 파일에서 불러올 수 있다. 스냅샷은 이전에 승인한 결과를 기준으로 삼으므로 최초 기준이 올바른지 검토하는 과정이 필요하다. 차이가 생겼다는 사실과 오류가 발생했다는 결론을 구분한다.

명령과 파일 변화 검사

비대화형 명령을 실행하고 출력 상태를 확인하는 부품과 작업 디렉터리를 구성해 결과 파일을 비교하는 기능을 제공한다. 여러 사례를 일괄 처리하는 실행기와 달리 개별 검사에서 필요한 구성을 조합하기 쉽다. 명령 실행 성공과 파일 내용의 정확성을 필요한 만큼 각각 확인한다.

기능 선택과 비교 범위

디렉터리 비교와 명령 실행, JSON 등은 기능 설정에 따라 사용할 수 있다. 원하는 형식이 기본 구성에 포함되어 있다고 가정하지 않고 의존성 설정을 확인한다. 실제값이나 기대값을 걸러내는 처리도 제공하지만 의미 있는 차이를 없애지 않게 범위를 정한다. 진단하기 쉬운 비교를 구성하고 기준 갱신은 변경 의도를 확인한 뒤 수행한다.

관련 문서

Trycmd / Insta 스냅샷 테스트 / Assert_cmd / Assert_fs