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); }