######################################## 单元测试 ######################################## go 可以使用 :command:`go test` 命令执行单元测试,但是有以下约定: - 单元测试的文件名必须以 *_test.go* 结尾 - 单元测试的包命令应该为 *模块名_test* - 单元测试的函数名为 *func TestXXX(t \*testing.T)* - 单元测试的函数的第一行代码应为 *t.Parallel()* 单元测试文件无需添加 main 函数,所以以 Test 开头的函数会在 :command:`go test` 命令中被自动调用。另外, :command:`go test` 的参数应该为文件夹名或者模块名 一个示例代码为: .. code-block:: go 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) } } .. seealso:: - `go test命令(Go语言测试命令)完全攻略 `_ - `go test · Go语言圣经 `_