我正在开发一个使用log
软件包并记录各种情况的软件包。
我想在我的软件包上运行go test -v ./...
并输出通过/失败 所使用的log
的测试列表。这对我很有帮助,因为我可以概览整个测试套件,而不会被特定于测试的输出所困扰。
在go help testflag
的文档中,它说:
-v
Verbose output: log all tests as they are run. Also print all
text from Log and Logf calls even if the test succeeds.
是否有一种方法可以将这两个功能分开,并在没有go test
的情况下将log all tests as they are run
设置为print(ing) all text from Log and Logf calls even if the test succeeds
?
答案 0 :(得分:0)
您没有提供示例输出,因此我无法给出code
的答案。但是,如果您使用的是Unix
机器,则可以使用go test -v ./... | grep <your_patter_of_interest>
提取具有特定模式的输出行。
一个简单示例,示例输出改编自How to Write Go Code:
原始输出:
$ go test
ok github.com/user/stringutil 0.165s
ok github.com/your/important/package 0.918s
log: passed a certain milestone
log: my code is great!
ok github.com/another/great/package 0.124s
warning: hey there!
过滤后的输出:
$ go test | grep "ok"
ok github.com/user/stringutil 0.165s
ok github.com/your/important/package 0.918s
ok github.com/another/great/package 0.124s