编写 Go 测试时,您可能需要打印语句以进行调试。然而,与常规程序不同,测试中的打印不会直接显示在屏幕上。
测试包提供了T.Log和T .Logf 方法,分别相当于 fmt.Print 和 fmt.Printf。这些方法将日志定向到特定的缓冲区,在运行测试时可以使用 -v(详细)标志来访问该缓冲区。
func TestPrintSomething(t *testing.T) { t.Log("Say hi") }
当使用 go test -v 运行时,此测试将输出:
=== RUN TestPrintSomething Say hi --- PASS: TestPrintSomething (0.00s)
而fmt.Print语句直接出现在控制台上,T.Log和T.Logf日志被缓冲。这意味着:
要在Go测试中打印语句,请使用testing.T.Log或测试.T.Logf 而不是 fmt.Print。这可确保您的日志被定向到正确的缓冲区并正确显示。
以上是如何使用日志记录有效调试 Go 测试?的详细内容。更多信息请关注PHP中文网其他相关文章!