我正在我的包目录中创建一个名为 reverseTest.go 的简单测试
package main 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) } } }
每当我尝试运行它时,输出是
exampleFolder[no test files]
这是我的 go env
GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/juan/go" GORACE="" GOROOT="/usr/lib/go" GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64" TERM="dumb" CC="gcc" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread" CXX="g++" CGO_ENABLED="1"
任何帮助将不胜感激。谢谢!!
应调用包含测试的文件name_test,并带有_test后缀。它们应该与他们正在测试的代码一起出现。
name_test
_test
递归地运行测试调用 go test -v ./...
go test -v ./...
从如何编写 Go 代码:
您可以通过创建一个名称以_test.go包含以TestXXXsignature命名的函数的文件来编写测试func (t *testing.T)。测试框架运行每个这样的函数;如果函数调用失败函数,例如t.Error或t.Fail,则认为测试失败。
_test.go
TestXXX
func (t *testing.T)
t.Error
t.Fail