Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Testando saída no console

Gostaria de saber como faço pra de fato testar uma saída no console. Exemplo o método imprimeNaTela(String msg) . Com o JUnit eu consigo fazer esse tipo de teste?

public void imprimeNaTela(String msg) {
    System.out.println(msg);
}
1 resposta
solução!

Consegui resolver da maneira mais próxima na qual gostaria. Resumindo, redirecionei a saída do console para um ByteArrayOutputStream e fiz um assertThat.

public class WelcomeToJavaTest {

    private final ByteArrayOutputStream output = new ByteArrayOutputStream();

    @BeforeEach
    public void setUp() throws UnsupportedEncodingException {
        PrintStream novoFluxoDeImpressao = new PrintStream(output, true, "UTF-8");
        // seta o novo fluxo de saída
        System.setOut(novoFluxoDeImpressao);
    }

    @AfterEach
    public void cleanUp()  {
        output.reset();
    }

    @Test
    public void verificaSeConsoleImprimeHelloWorld() {
        WelcomeToJava welcomeToJava = new WelcomeToJava();
        welcomeToJava.imprimeNaTela("Hello World");

        assertThat(output.toString(), equalTo("Hello World"));
    }

}