1
resposta

Como testar Exception no JUnit 5

No JUnit 5 a anotation @Test(expected=RuntimeException.class) não funciona. Assim sendo o teste pode ser escrito assim para testar apenas a exceção:

@Test
    public void naoDeveAvaliarLeiloesSemNenhumLanceDado() {
        Leilao leilao = new CriadorDeLeilao()
                .para("Playstation 3 Novo")
                .constroi();
        assertThrows(RuntimeException.class, () -> leiloeiro.avalia(leilao));
    }

ou para assim para validar também a mensagem de erro:

    @Test
    public void naoDeveAvaliarLeiloesSemNenhumLanceDado() {
        Leilao leilao = new CriadorDeLeilao()
                .para("Playstation 3 Novo")
                .constroi();
        RuntimeException runtimeException = assertThrows(RuntimeException.class, () -> leiloeiro.avalia(leilao));
        assertTrue(runtimeException.getMessage().contains("Não é possível avaliar um leilão sem lances!"));
    }
1 resposta

Fala Roney,

Perfeito. Obrigado por compartilhar :) Vou pedir para incluirem na transcrição da aula

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software