单元测试

go 可以使用 go test 命令执行单元测试,但是有以下约定:

  • 单元测试的文件名必须以 _test.go 结尾

  • 单元测试的包命令应该为 模块名_test

  • 单元测试的函数名为 func TestXXX(t *testing.T)

  • 单元测试的函数的第一行代码应为 t.Parallel()

单元测试文件无需添加 main 函数,所以以 Test 开头的函数会在 go test 命令中被自动调用。另外, go test 的参数应该为文件夹名或者模块名

一个示例代码为:

func TestSlice(t *testing.T) {
   t.Parallel()

   slice1 := []string{"1", "2", "3", "6", "8"}
   slice2 := []string{"2", "3", "5", "0"}
   un := lib.Union(slice1, slice2)

   if !lib.StringSliceEqualBCE(un, []string{"1", "2", "3", "6", "8", "5", "0"}) {
      t.Fatalf("slice1 并 slice2 的结果为 %v", un)
   }
}
Last moify: 2025-01-17 02:16:27
Build time:2025-07-18 09:41:42
Powered By asphinx