一:Go 自带的 testing 包
testing 为 Go 语言 package 提供自动化测试的支持。通过 go test 命令,能够自动执行如下形式的任何函数:
func TestXxx(*testing.T)
注意:Xxx 可以是任何字母数字字符串,但是第一个字母不能是小写字母。
在这些函数中,使用 Error、Fail 或相关方法来发出失败信号。
要编写一个新的测试套件,需要创建一个名称以 _test.go 结尾的文件,该文件包含 TestXxx 函数,如上所述。 将该文件放在与被测试文件相同的包中。该文件将被排除在正常的程序包之外,但在运行 go test 命令时将被包含。 有关详细信息,请运行 go help test 和 go help testflag 了解。
被测示例:
判断回文数
package huiwenfunc ishuiwenshu(s string)bool {s1 := []rune(s)for i:=0; i<=len(s1)/2; i++ {if s[i] != s[len(s1)-i-1] {return false}}return true}
测试例子:
package huiwenimport ("encoding/xml""fmt""testing")func Ishuiwen(t *testing.T) {type test struct {s stringwant bool}tests := map[string]test{"sample": {"121",true},"sample1": {"aaa",false},"sample2": {"bbb",true},}for name,value := range tests{t.Run(name, func(t *testing.T) {got := Ishuiwen(value.s)if got != value.want {t.Errorf(value.want,got)}})}}
