Comece agoraComece grátis

Tratando exceções: processamento de mensagens

Assim como usar e tratar exceções é parte essencial de escrever código, testar essas exceções é vital para validar seu projeto.

Neste exercício, você vai praticar a sintaxe da asserção de instância de classe do JUnit. Você recebe um método que converte uma string para maiúsculas, mas lança uma RuntimeException personalizada se a string for null. Sua tarefa é escrever testes de unidade para ele.

Este exercicio faz parte do curso

Introdução a Testes em Java

Ver curso

Instruções do exercicio

  • Verifique, no teste de sucesso, que a mensagem foi convertida para maiúsculas.
  • Use o tipo correto de asserção para confirmar que a exceção lançada é uma instância de RuntimeException.
  • Informe a classe esperada da exceção.
  • Use a asserção correta para verificar a mensagem da exceção.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

public class Main {
    public static void main(String[] args) {
		launchTestsAndPrint(MessageProcessorTest.class);
    }
}

class MessageProcessorTest {

    @Test
    void processMessage_returnsUppercase() {
        String message = "error!";
        String expected = "ERROR!";

        String actual = MessageProcessor.processMessage(message);
		
        // Assert the message is converted to uppercase
        ____(expected, actual);
    }

    @Test
    void processMessage_throwsException_whenMessageIsNull() {
        String message = null;
        Exception expectedException = null;

        try {
        	MessageProcessor.processMessage(message);
        } catch (Exception e) {
        	expectedException = e;
        }
        // Assert the correct type of exception
        ____(RuntimeException.class, expectedException);
        // Assert the correct exception message
        ____("Message cannot be null.", expectedException.getMessage());
    }
}
Editar e Executar Código