是否有一种方法在Golang设置标志时,试图执行' go test ./…- v"



我需要执行类似go test ./... -v -args -name1 val1的东西但没有任何与go test ...工作似乎与go test ./...工作

Go测试框架使用全局flag.(*FlagSet)实例。在测试文件中创建的任何标志都可以从命令行获得。不被测试框架使用的位置参数可以通过flag.Args()(以及flag.Argflag.NArg)获得。位置参数需要--在命令行中将它们分开。

例如:

package testflag
import (
    "flag"
    "testing"
)
var value = flag.String("value", "", "Test value to log")
func TestFlagLog(t *testing.T) {
    t.Logf("Value = %q", *value)
    t.Logf("Args = %q", flag.Args())
}

假设上面的测试在几个目录testflagtestflag/atestflag/b中,运行go test -v ./... -value bar -- some thing输出:

=== RUN   TestFlagLog
    testflag_test.go:11: Value = "bar"
    testflag_test.go:12: Args = ["some" "thing"]
--- PASS: TestFlagLog (0.00s)
PASS
ok          testflag        0.002s
=== RUN   TestFlagLog
    testflag_test.go:11: Value = "bar"
    testflag_test.go:12: Args = ["some" "thing"]
--- PASS: TestFlagLog (0.00s)
PASS
ok          testflag/a      0.001s
=== RUN   TestFlagLog
    testflag_test.go:11: Value = "bar"
    testflag_test.go:12: Args = ["some" "thing"]
--- PASS: TestFlagLog (0.00s)
PASS
ok          testflag/b      0.002s

相关内容

  • 没有找到相关文章

最新更新