ホームページ > バックエンド開発 > Golang > Go テストで「fmt.Println()」が機能しないのはなぜですか?デバッグ情報を出力するにはどうすればよいですか?

Go テストで「fmt.Println()」が機能しないのはなぜですか?デバッグ情報を出力するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-28 19:17:10
オリジナル
206 人が閲覧しました

Why Doesn't `fmt.Println()` Work in Go Tests, and How Can I Print Debugging Information?

「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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート