Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
go测试标志:已提供但未定义的标志_Go - Fatal编程技术网

go测试标志:已提供但未定义的标志

go测试标志:已提供但未定义的标志,go,Go,嗨,在go中测试时,我正在使用一个标志: 文件_test.go var ip=flag.String(“ip”、“noip”、“test”) 我只在一个测试文件中使用它。当只测试一个测试文件时,它工作正常,但当我运行: go测试。/-ip 127.0.0.1其他测试文件的所有说明:标记已提供但未定义 你看到这个了吗 在定义标记之前,正在调用Parse() 在调用flag.Parse()之前,您必须确保所有的标志定义都发生在调用init()函数之前。如果您迁移到golang 13,它会更改测试初始

嗨,在go中测试时,我正在使用一个标志:
文件_test.go
var ip=flag.String(“ip”、“noip”、“test”)

我只在一个测试文件中使用它。当只测试一个测试文件时,它工作正常,但当我运行:
go测试。/-ip 127.0.0.1
其他测试文件的所有说明:
标记已提供但未定义

你看到这个了吗

在定义标记之前,正在调用Parse()


在调用
flag.Parse()
之前,您必须确保所有的标志定义都发生在调用
init()
函数之前。

如果您迁移到golang 13,它会更改测试初始值设定项的顺序, 所以它可能会导致类似的结果

flag provided but not defined: -test.timeout
作为一种可能的解决方法,您可以使用

var _ = func() bool {
    testing.Init()
    return true
}()
这将在应用程序之前调用测试初始化。可以在原始线程上找到更多信息:


谢谢,它仍然只在同一个包中工作,但在使用:./…@ChrisG运行所有测试时不起作用。如果您正在测试多个包,那么您提供的任何标志都必须在所有包中有效。没办法,谢谢!你知道如何用regexp-run忽略测试吗?@ChrisG:忽略测试没有帮助。您正在告诉go在
/…
通配符上运行
go test
。这不是一次测试运行,而是连续测试每个匹配的包。简单地说,不要使用
/…
测试您想要测试的软件包。这是拯救生命的答案!