JUnit で標準出力結果を検証

System.setOut で標準出力先を切り替えたのを元に戻す - Oboe吹きプログラマの黙示録

より、切り替えによるJUnit で標準出力結果を検証する

テストケースを以下のように書けば良い。
例) "OK"だけを標準出力するメソッドをテスト
System.lineSeparator() を付与して比較検証するようにする必要がある

@Test
public void test() {
    ByteArrayOutputStream bo = new ByteArrayOutputStream();
    System.setOut(new PrintStream(bo));

    //テスト対象メソッド呼び出し

    String resout = bo.toString();
    MatcherAssert.assertThat(resout, CoreMatchers.is("OK" + System.lineSeparator()));

    // 元に戻して、コンソールにも出す
    System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));
    System.out.println(resout);
}