在详细模式下运行时,Golang测试会产生不一致的结果

时间:2016-09-27 21:46:30

标签: testing go

我的_test.go文件中有一个测试函数,带有一堆子测试。 它看起来像这样:

func MyTest(t *testing.T) { 
    t.Run("Subtest1", func(t *testing.T) {
       ...
    })
    t.Run("Subtest2", func(t *testing.T) {
       ...
    })
}

我使用go test运行测试并获取

PASS
ok      package_path    9.137s

但是,我希望在结果中列出我的所有子测试。查看Run中的$GOROOT/src/testing/testing.go函数,看起来我需要将测试设为chatty

所以我尝试通过go test -v运行测试,但我仍然没有得到所需的输出。相反,我的测试现在失败了:

=== RUN   MyTest
api.test: error: expected argument for flag '-t', try --help
exit status 1
FAIL    package_path    0.004s

--help未显示-t

的任何内容

1 个答案:

答案 0 :(得分:0)

这对于我正在测试的代码来说是一个问题,它需要自己的参数并包含这一行:

kingpin.MustParse(cli.Parse(os.Args[1:]))

我知道在测试中不允许解析参数。