GO测试

测试

Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成。

你可以通过创建一个名字以 _test.go 结尾的,包含名为 TestXXX 且签名为 func (t *testing.T) 函数的文件来编写测试。 测试框架会运行每一个这样的函数;若该函数调用了像 t.Errort.Fail 这样表示失败的函数,此测试即表示失败。

我们可通过创建文件 $GOPATH/src/github.com/user/stringutil/reverse_test.go 来为 stringutil 添加测试,其内容如下:

package stringutil

import "testing"

func TestReverse(t *testing.T) {
	cases := []struct {
		in, want string
	}{
		{"Hello, world", "dlrow ,olleH"},
		{"Hello, 世界", "界世 ,olleH"},
		{"", ""},
	}
	for _, c := range cases {
		got := Reverse(c.in)
		if got != c.want {
			t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
		}
	}
}

接着使用 go test 运行该测试:

$ go test github.com/user/stringutil
ok  	github.com/user/stringutil 0.165s

同样,若你在包目录下运行 go 工具,也可以忽略包路径

$ go test
ok  	github.com/user/stringutil 0.165s

五、远程包
若你在包的导入路径中包含了代码仓库的URLgo get 就会自动地获取、 构建并安装它:
$ go get github.com/golang/example/hello
$ $GOPATH/bin/hello
Hello, Go examples!
$ go get github.com/golang/example/hello
$ $GOPATH/bin/hello
Hello, Go examples!

T

原文地址:https://www.cnblogs.com/justart/p/11661486.html