转到测试标志:提供了标志但未定义 [英] go test flag: flag provided but not defined

查看:42
本文介绍了转到测试标志:提供了标志但未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在进行测试时使用的是标志:
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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆