ホームページ > Java > &#&チュートリアル > JUnit で `System.out.println()` を単体テストするにはどうすればよいですか?

JUnit で `System.out.println()` を単体テストするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-29 19:57:10
オリジナル
718 人が閲覧しました

How to Unit Test `System.out.println()` in JUnit?

JUnit を使用した System.out.println() のテスト

標準出力にエラー メッセージを書き込むアプリケーションの JUnit テストを作成するにはどうすればよいですか特に、これらのメッセージが一貫性がなく、信頼性が低い場合はどうでしょうか。これらのシナリオを効果的にテストするには、コンソール出力をキャプチャしてその内容をアサートする必要があります。

コンソール出力をリダイレクト

コンソール出力をキャプチャするには、両方の標準出力 (System.out) をリダイレクトする必要があります。 ) およびテスト中の標準エラー (System.err)。これは、ByteArrayOutputStream メソッドと System.setXXX メソッドを使用して実現できます。実装例を次に示します:

サンプル テスト ケース

コンソール出力をリダイレクトすると、期待される出力をアサートするテスト ケースを作成できます:

これらのテスト ケースは、システム出力が期待どおりであることをアサートし、アプリケーション ログが次と一致しているかどうかを検証できます。

注: この回答の以前のバージョンでは、テスト後に System.setOut(null) が使用されていたため、NullPointerExceptions が発生する可能性がありました。更新されたコードは、このような問題を回避するために、各テスト後に元のストリームを正しく復元します。

以上がJUnit で `System.out.println()` を単体テストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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