Go 테스트를 작성할 때 디버깅 목적으로 명령문을 인쇄할 수 있습니다. 그러나 일반 프로그램과 달리 테스트 내부의 인쇄는 화면에 직접 나타나지 않습니다.
테스팅 패키지에서는 T.Log 및 T를 제공합니다. .Logf 메서드는 각각 fmt.Print 및 fmt.Printf와 동일합니다. 이러한 메소드는 테스트를 실행할 때 -v(verbose) 플래그를 사용하여 액세스할 수 있는 특정 버퍼로 로그를 보냅니다.
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를 사용하거나 fmt.Print 대신 test.T.Logf. 이렇게 하면 로그가 올바른 버퍼로 전달되고 적절하게 표시됩니다.
위 내용은 로깅을 사용하여 Go 테스트를 효과적으로 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!