单元测试
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)
}
}