위키득계정 ↗
기술

Cram 명령행 검사 도구

Cram 명령행 검사 도구기술
분야
명령행 기능 검사
검사 파일
t 확장자의 텍스트
기본 실행기
bin sh 셸
비교 방식
일반 문자열과 선택 패턴
Cram은 셸 세션처럼 작성한 명령과 기대 출력을 실제 실행 결과와 비교하는 기능 검사 도구다. 출력 차이를 보여 주며 명령행 프로그램의 동작 변화를 확인하는 데 쓰인다.

명령과 결과를 한 파일에 담기

검사 파일의 들여쓰기와 표시 규칙으로 실행할 명령, 이어지는 명령, 기대 출력을 구분한다. 나머지 설명은 주석으로 둘 수 있다. 실제 출력이 기대와 다르면 차이를 표시하므로 도움말이나 파일 처리 명령의 결과 변화를 살피기 쉽다. 형식 자체가 올바르게 해석되었는지도 검토한다.

가변 출력의 비교 범위

일부 출력에는 정규식이나 제한된 글로브 비교를 지정할 수 있다. 실행할 때 달라지는 값만 패턴으로 다루고 고정되어야 할 내용은 구체적으로 남긴다. 너무 넓은 패턴은 잘못된 결과까지 허용할 수 있다. 대화형 갱신 기능으로 실제 출력을 기대값에 합칠 때에도 변경 이유를 확인해야 한다.

환경과 종료 시점

언어와 시간대 같은 공통 환경 변수를 일정하게 설정해 불필요한 차이를 줄인다. 원래 환경을 유지하는 옵션을 쓰면 같은 검사도 실행 환경에 영향을 더 받을 수 있다. 표준 입력을 닫거나 출력 통로를 유지하는 외부 프로세스는 실행 흐름에 영향을 준다. 임시 공간 사용만으로 외부 명령의 부작용 전체가 격리되지는 않는다.

관련 문서

Shunit2 / Bats-core / ShellSpec / Testscript Go