위키득계정 ↗
기술

Bashunit

Bashunit기술
분야
Bash 스크립트 검사
실행 환경
Bash 3.0 이상
검사 대상
값과 명령 실행 결과
추가 기능
모의 처리와 스냅샷
Bashunit은 Bash 스크립트의 동작을 검사하는 프레임워크다. 값과 출력 및 종료 상태를 확인하는 판정 기능에 모의 처리와 데이터 공급, 스냅샷 검사를 결합할 수 있다.

검사 함수를 작성하기

검사 파일에 함수를 정의하고 실행기로 결과를 모은다. 문자열이나 배열, 파일과 디렉터리 같은 대상별 판정 기능을 제공하므로 검사 의도에 맞는 조건을 고른다. 여러 기능을 한 조건으로 뭉치기보다 어떤 동작이 달라졌는지 알아볼 수 있도록 기대 결과를 구체적으로 구성한다.

종료 상태와 의존 도구

직전 명령의 종료 상태를 확인하는 기능은 검사 사이에 다른 명령이 끼어들면 다른 결과를 볼 수 있다. 무엇의 상태를 판정하는지 분명히 해야 한다. JSON 판정에는 jq가 필요하므로 프레임워크가 실행된다는 사실만으로 모든 검사 기능의 의존성이 준비되었다고 가정하지 않는다.

대역과 스냅샷 활용

외부 동작을 모의 처리하거나 호출 횟수를 관찰해 특정 경로를 재현할 수 있다. 대역의 성공과 실제 시스템의 정상 동작은 구분한다. 스냅샷은 이전 기대 결과와 현재 출력을 비교하는 데 쓰이지만 기준을 갱신하는 일 자체가 정확성을 보장하지는 않는다. 의도된 변화인지 검토하고 실제 환경을 다루는 검사도 함께 둔다.

관련 문서

Bats-core / ShellSpec / Shunit2 / Bashcov