【发布时间】:2014-06-05 23:47:25
【问题描述】:
我正在 Go 中运行一个测试,其中包含打印某些内容(即用于调试测试)的语句,但它没有打印任何内容。
func TestPrintSomething(t *testing.T) {
fmt.Println("Say hi")
}
当我对该文件运行 go test 时,输出如下:
ok command-line-arguments 0.004s
据我所知,真正让它打印的唯一方法是通过 t.Error() 打印它,如下所示:
func TestPrintSomethingAgain(t *testing.T) {
t.Error("Say hi")
}
哪个输出这个:
Say hi
--- FAIL: TestPrintSomethingAgain (0.00 seconds)
foo_test.go:35: Say hi
FAIL
FAIL command-line-arguments 0.003s
gom: exit status 1
我用谷歌搜索并查看了手册,但没有找到任何东西。
【问题讨论】:
-
这可能适用于 Go 1.14(2010 年第一季度)。见my answer below。
-
@VonC s/b Q1 2020
-
@user2133814 同意,确实应该是 2020 年,而不是 2010 年。answer below 确实提到了 2020 年。我已经编辑了上述答案,并参考了 Dave Cheney 关于该新功能的文章。