我在同一个包里有两个文件。
# my_package1/my_file1.go
func myFunc1() {
//....
}
# my_package1/my_file1_test.go
type MyPackageSuite struct {
suite.Suite
}
func (s *MyPackageSuite) MyTest1() {
//...............
res1 := myFunc1()
//...............
} 我运行了一个测试go test my_package1/my_file1_test.go -v,它返回undefined: myFunc1
但他们在同一个包裹里。为什么会出错?怎么修呢?公开这个方法不是我要找的。
Update1
$ ls webhook
doc.go webhook.go webhook_test.go然后
$ go test webhook
can't load package: package webhook: malformed module path "webhook": missing dot in first path element
$ go test webhook/webhook
can't load package: package webhook/webhook: malformed module path "webhook/webhook": missing dot in first path element
$ go test webhook/webhook.go
? command-line-arguments [no test files]
$ go test webhook/webhook_test.go
# command-line-arguments [command-line-arguments.test]
webhook/webhook_test.go: undefined: myFunc1
FAIL command-line-arguments [build failed]
FAIL发布于 2019-12-03 05:51:33
尝试go test ./my_package1强制编译all包。
或者至少先要一个go build。
这样做的目的是确保在执行测试文件之前编译了myFunc1()。
"malformed module path“"missing dot in first path element”表示go mod file is missing
cd /path/to/project
go mod init project
go test ./webhookhttps://stackoverflow.com/questions/59150861
复制相似问题