Jua*_*n M 38 testing terminal go
我正在我的包目录中创建一个名为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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试运行它时,输出就是
exampleFolder[no test files]
Run Code Online (Sandbox Code Playgroud)
这是我的环境
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"
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢!!
blo*_*oop 51
您可能在根软件包中没有任何测试文件,并且运行go test -v不测试子软件包,只测试根软件包.
例如
.
??? Dockerfile
??? Makefile
??? README.md
??? auth/
? ??? jwt.go
? ??? jwt_test.go
??? main.go
Run Code Online (Sandbox Code Playgroud)
如您所见,根软件包中没有测试文件,只有main.go文件.你会得到"没有测试文件".
解决方案是运行
go test -v ./...
Run Code Online (Sandbox Code Playgroud)
或者如果你使用govendor
govendor test +local
Run Code Online (Sandbox Code Playgroud)
_test文件中的测试函数必须以前缀“ Test”开头
好:
func TestName (
Run Code Online (Sandbox Code Playgroud)
坏:
func NameTest (
Run Code Online (Sandbox Code Playgroud)
此功能将不会作为测试执行,并且会报告错误
要运行所有测试,请使用以下命令
> go test ./...
//For verbose output use -v flag
> go test -v ./...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31659 次 |
| 最近记录: |