首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法访问同一包中的私有方法以进行测试

无法访问同一包中的私有方法以进行测试
EN

Stack Overflow用户
提问于 2019-12-03 05:47:00
回答 1查看 943关注 0票数 1

我在同一个包里有两个文件。

代码语言:javascript
复制
# 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

代码语言:javascript
复制
$ ls webhook
doc.go      webhook.go  webhook_test.go

然后

代码语言:javascript
复制
$ 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
EN

回答 1

Stack Overflow用户

发布于 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

代码语言:javascript
复制
cd /path/to/project
go mod init project
go test ./webhook
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59150861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档