추상 파일 시스템 사용하기
파일 처리 코드는 경로와 디렉터리, 읽기와 쓰기에 의존한다. Jimfs는 이러한 작업을 메모리에서 수행하는 파일 시스템 인스턴스를 제공한다. 대상 코드가 파일 시스템 추상을 받도록 구성되어 있으면 테스트마다 별도의 환경을 준비하기 편하다. 기본 운영체제 파일 시스템에 고정된 코드는 그대로 대체되지 않을 수 있다.
지원하는 작업과 형태
파일과 디렉터리 생성, 복사와 이동, 읽기와 쓰기 등을 다룬다. 링크와 경로 매칭, 변경 감시 같은 기능도 지원한다. 경로 형태를 설정해 서로 다른 환경을 표현할 수 있지만 실제 특정 운영체제의 파일 시스템과 완전히 같다고 가정해서는 안 된다. 테스트가 무엇을 모사하는지 범위를 정한다.
권한과 실제 환경의 차이
일부 속성은 값을 저장하고 읽을 수 있어도 실제 동작을 통제하지는 않는다. 예를 들어 POSIX 권한 속성을 설정해도 접근 제어가 그대로 재현되는 것은 아니다. 따라서 권한이나 디스크 특성에 관한 검사는 실제 환경에서도 확인해야 한다. 메모리 기반 검사와 운영체제 통합 검사는 서로 다른 공백을 다룬다.