使用“go test”列出所有测试用例

flu*_*ter 7 go

随着go test -v pattern我可以选择,只有运行相匹配的模式测试,但有什么办法,我可以列出所有的测试用例没有运行它们。有一个案例,刚刚交给我的项目有很多测试用例,我需要选择一些测试来运行。我知道 grep 来源xxx_test.go是一种方法,但有更优雅的方法吗?我的意思是,每个测试的元数据都存储在某个地方,对吗?因为测试需要在特定的签名中(func TestXXX(*testing.T))。此元数据可用于完成此类工作。

Ign*_*sel 12

刚刚在 Go1.9 发行说明(草案)中看到了这一点,我认为这可能是您正在寻找的

go test 命令接受一个新的 -list 标志,它接受一个正则表达式作为参数,并将匹配它的任何测试、基准或示例的名称打印到标准输出,而不运行它们。

  • 为了完整起见,这里有一个示例用法,列出了所有情况:`go test ./... -list=.` (3认同)