함수 단위로 검사 구성하기
셸 파일에 검사 함수를 정의하고 라이브러리를 불러오면 이름 규칙에 맞는 함수를 찾아 실행한다. 명시적인 모음 구성으로 대상을 선택할 수도 있다. 단순히 스크립트가 마지막까지 실행되었다는 사실보다 필요한 조건을 실제로 판정했는지가 중요하다. 비교 결과를 통해 동작의 변화를 확인한다.
비교와 셸의 해석
동등 비교는 기대값과 실제값을 문자열로 취급한다. 숫자처럼 보이는 문자열의 비교와 산술적 크기 비교를 같은 것으로 받아들이면 검사 의도가 달라질 수 있다. 참과 거짓을 확인하는 기능에서는 셸의 종료 상태 관례도 고려한다. 공백과 특수 문자가 있는 값은 인용해 인자 경계가 바뀌지 않게 한다.
환경을 되돌리는 훅
전체 실행 전후의 준비 및 정리와 각 검사 전후의 훅을 구분해 제공한다. 공용 자료는 한 번 준비하고 검사별 변경 상태는 개별적으로 되돌리는 식으로 수명을 설계할 수 있다. 여러 셸 지원이 모든 버전에서 같은 결과를 보장하지는 않는다. 사용 중인 셸과 운영체제에서 직접 실행해 차이를 확인한다.
관련 문서
Bats-core / ShellSpec / ShellCheck / Shfmt