위키득계정 ↗
기술

Assert_cmd

Assert_cmd기술
분야
Rust 명령행 통합 검사
설정 대상
인자와 입력 및 환경 변수
판정 대상
종료 상태와 표준 출력 및 오류
연동
표준 프로세스 API
Assert_cmd는 Rust에서 명령행 프로그램의 통합 검사를 작성하는 라이브러리다. 실행할 바이너리를 찾고 입력과 환경을 구성한 뒤 종료 상태와 출력을 확인하도록 돕는다.

실행 조건을 구성하기

프로젝트의 바이너리나 지정한 경로의 프로그램을 대상으로 실행 조건을 만든다. 작업 디렉터리와 환경 변수를 정하고 표준 입력을 전달할 수 있다. 개발자의 셸 설정이 우연히 영향을 주지 않도록 필요한 환경을 명시한다. 입력 파일이 필요한 경우에는 파일 준비와 실행 자체를 구분해 구성한다.

성공과 출력은 별도 조건

판정 객체를 만들었다고 종료 성공이 자동으로 요구되는 것은 아니다. 성공이나 실패, 특정 종료 코드를 필요한 만큼 명시한다. 예상 문구가 출력되어도 실행은 실패할 수 있고 그 반대도 가능하다. 표준 출력과 표준 오류를 나눠 확인하면 사용자 결과와 오류 진단이 섞이지 않았는지도 살필 수 있다.

공백과 실행 경계

출력은 판정 전에 자동으로 앞뒤 공백이 제거되지 않으므로 줄바꿈을 포함한 기대값을 고려한다. 시간 제한을 설정하고 필요한 파일 및 디렉터리 검사를 별도로 연결할 수 있다. 외부 프로세스를 실행하는 통합 검사이므로 임시 파일과 종료 후 부작용도 관리한다. 상호작용하는 터미널 동작은 그에 맞는 검사 방식을 추가로 선택한다.

관련 문서

Predicates Rust / Testscript Go / Cram 명령행 검사 도구 / Rstest