我正在尝试为将与文件系统交互的功能编写单元测试,并且希望能够在测试期间模拟文件系统。
给出下面的代码作为该问题的答案,您可以在其中创建一个在测试期间使用的文件系统接口,但是我对Go并不陌生,并且正在努力寻找如何使用它。
请问有人能够提供一个示例说明如何在测试中使用该接口吗?
var fs fileSystem = osFS{}
type fileSystem interface {
Open(name string) (file, error)
Stat(name string) (os.FileInfo, error)
}
type file interface {
io.Closer
io.Reader
io.ReaderAt
io.Seeker
Stat() (os.FileInfo, error)
}
// osFS implements fileSystem using the local disk.
type osFS struct{}
func (osFS) Open(name string) (file, error) { return os.Open(name) }
func (osFS) Stat(name string) (os.FileInfo, error) { return os.Stat(name) }
Run Code Online (Sandbox Code Playgroud)