Go语言作为一门工程化语言,但Go语言一个包下只能有一个main()函数,为了避免测试函数时要新建包或每次都修改main()函数,Go提供了非常简单而且实用的编写单元测试的能力。而且每个测试方法都可以单独执行,也可以通过一个命令全部执行。
- 文件名必须以xxx_test.go命名;
- 方法名称必须是Test[^a-z]开头,而且 Test 的后缀部分第一个字符必须大写;
- 方法参数必须是 t *testing.T。
package main
import (
"fmt"
"testing"
)
func TestDefer(t *testing.T) {
a()
}
func a() {
i := 0
defer fmt.Println(i)
i++
return
}