转到测试标志:提供了标志但未定义 [英] go test flag: flag provided but not defined
问题描述
我在进行测试时使用的是标志:
file_test.go var ip = flag.String("ip","noip","test")
Hi I am using a flag when testing in go:
file_test.go
var ip = flag.String("ip", "noip", "test")
我仅在一个测试文件中使用它.它仅在测试一个测试文件时运行良好,但是在我运行时: go test./... -ip 127.0.0.1
另一个测试文件的全部内容,说:提供了 flag但未定义
.
I am only using this in one test file. And it works fine when only testing that one test file, but when I run:
go test ./... -ip 127.0.0.1
alle of the other test file saying: flag provided but not defined
.
您看到了吗?
致谢
推荐答案
flag.Parse()
在定义标志之前被调用.
flag.Parse()
is being called before your flag is defined.
通常必须通过在 init()
函数内部定义所有标志,来确保在调用 flag.Parse()
之前确保所有标志定义均已发生.
You have to make sure that all flag definitions happen before calling flag.Parse()
, usually by defining all flags inside init()
functions.
这篇关于转到测试标志:提供了标志但未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!