golang 测试中的 读/写 文件操作

golang 测试中的一些文件操作

简介

  • 在编写 golang 测试的时候,有时候会涉及到一些文件/文件夹的操作
  • 有什么方法可以不产生多余的文件呢?

临时文件/文件夹

临时文件

1
2
3
4
5
6
7
8
9
10
11
func TestTempFile(t *testing.T) {
// gen temp file
tmpFile, err := ioutil.TempFile("", "temp_file")
if err != nil {
t.Fatal(err)
}

defer os.Remove(tmpFile.Name()) // clean up

// TODO: your test code
}

临时文件夹

1
2
3
4
5
6
7
8
9
10
11
func TestTempDir(t *testing.T) {
tempDir, err := ioutil.TempDir(os.TempDir(), "temp_dir")
if err != nil {
t.Error(err)
return
}

defer os.RemoveAll(tempDir)

// TODO: your test code
}