go test flag provided but not defined: -test.testlogfile

在对单个文件进行测试时一直失败,不明白错误提示让你要做什么?
在google, stack overflow上也没有找到相关问题的解答。
有遇到相同问题的来指导一下

> go test contract_view_dao_test.go contract_view_dao.go                                                  
flag provided but not defined: -test.testlogfile
Usage of /var/folders/ks/3vnblrm1151chsbwpldtwj6m0000gn/T/go-build473759281/b001/dao.test:
  -config string
        init config path
FAIL    command-line-arguments  0.009s
FAIL

网上找到的相关问题链接

https://github.com/golang/go/issues/31859#issuecomment-489889428

https://stackoverflow.com/questions/29699982/go-test-flag-flag-provided-but-not-defined

https://github.com/onsi/ginkgo/issues/602

阅读 12.1k
3 个回答

首先检查项目中其他go文件中是否在init的方法中有操作flag的代码,执行过flag.Parse()方法;go语言的testing的Init()方法源码建议查看一下,由于go项目编译初始化时候init()方法默认自动加载,也就是flag.Parse()方法会优先于testing的Init()方法执行,导致testing中的Init()的flag执行失败,解决方案就是在调整执行flag顺序,testing.Init()方法要优先于flag.Parse()执行。本质上这个应该是go语言本身设计testing的时候的bug,而且stack overflow上已经有人提出对应的bug,应该会在接下来的版本更新中解决。

直接 go test 就行了,不能加文件名,如果要排除某些测试用例,可以用-run后加正则。

这个问题解决了吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题