如何在不运行go test
的情况下列出可用的测试?我想知道哪些测试(包括子测试)存在,所以我可以手动选择它们的一个子集来运行以后的命令。对于像这样的事情我会期待类似go test -l
或go test -n
的内容。
答案 0 :(得分:3)
在go1.9中,go test
命令接受一个新的-list
标志,该标志将正则表达式作为参数并打印到stdout任何与之匹配的测试,基准或示例的名称,没有运行它们。
test flags documentation可以在https://tip.golang.org下找到,直到正式发布。
答案 1 :(得分:1)
没有go
子命令,但您可以使用find
和grep
(GNU版本,-P
标志)魔法:
find /path/to/your/project -not -path "./vendor" -type f -name "*_test.go" -exec cat {} \; | grep -oP '^func (\w+)\(\w \*testing\.T\) {$' | grep -oP ' \w+' | grep -oP '\w+';