"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 로깅 및 메모리 내 작업을 위해 파일 시스템을 조롱하는 방법은 무엇입니까?

로깅 및 메모리 내 작업을 위해 파일 시스템을 조롱하는 방법은 무엇입니까?

2025-03-23에 게시되었습니다
검색:985

How to Mock the File System in Go for Logging and In-Memory Operations?

답변 :

파일 시스템을 조롱하거나 추상화하려면 다음 접근 방식을 활용할 수 있습니다. Open (이름 문자열) (파일, 오류) STAT (이름 문자열) (OS.FileInfo, 오류) } 파일 인터페이스 유형 { io.closer io.Reader io.Readerat io. seeker stat () (OS.FileInfo, 오류) }

로컬 디스크를 사용하여 기본 파일 시스템 구현을 만듭니다. func (osfs) 열기 (이름 문자열) (파일, 오류) {return os.open (name)} func (osfs) stat (name string) (os.fileinfo, error) {return os.stat (name)}

사용자 정의 코드를 사용하여 파일 시스템 인터페이스 구현 : myfs struct {를 입력합니다. // 사용자 정의 파일 시스템 구현 } func (myfs) 열기 (이름 문자열) (파일, 오류) { // 파일을 열기위한 사용자 정의 구현 // 파일 작업을 기록합니다 fmt.printf ( "열린 파일 : %s \ n", 이름) // 모의 파일 객체를 반환합니다 return & mockfile {}, nil } func (myfs) stat (name string) (os.fileinfo, error) { // 파일 정보를 얻기위한 사용자 정의 구현 // 파일 작업을 기록합니다 fmt.printf ( "파일 정보 : %s \ n", 이름) // 모의 파일 정보를 반환합니다 return & os.fileinfo {}, nil }

파일 시스템 인수를 수락하도록 코드를 수정하십시오. f, err : = fs. err! = nil {인 경우 fmt.println (err) 반품 } // 조롱 된 파일 개체를 사용하여 파일 작업을 수행합니다 }

사용자 정의 파일 시스템 구현을 주입하면 파일 및 파일 시스템 인터페이스를 적절하게 구현하여 파일 작업을 로그하고 메모리 파일 시스템을 만들 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3