「testing」パッケージを使用した Go テストの印刷
失敗したテストのトラブルシューティングを行っており、デバッグ用に print ステートメントを追加したいと想像してください。 , しかし、テストを実行しても何も表示されません。それはなぜですか?
Go では、組み込みの fmt.Println() ステートメントがテスト内で期待どおりに機能しません。代わりに、「testing」パッケージは、印刷のための代替メソッドを提供します。
構造体 testing.T および testing.B には、fmt.Print および fmt.Printf と同様の機能を提供する .Log メソッドと .Logf メソッドがあります。これらのメソッドを使用すると、テスト内でステートメントを出力できます。
例:
func TestPrintSomething(t *testing.T) { t.Log("Say hi") }
ただし、これらのメソッドを使用した場合でも、出力がすぐに表示されない場合があります。ログ メッセージを表示するには、テストの実行時に -v フラグ (冗長性を高めるため) を指定する必要があります。
go test -v
-v フラグを使用すると、ログ メッセージがテスト結果と一緒に出力され、次のようになります。必要なデバッグ情報が得られます。
以上がGo テストで「fmt.Println()」が機能しないのはなぜですか?デバッグ情報を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。