НачатьНачать бесплатно

Обработка исключений: работа с сообщениями

Как и использование исключений является неотъемлемой частью написания кода, их тестирование не менее важно для проверки проекта.

В этом упражнении вы попрактикуетесь в синтаксисе утверждения принадлежности к классу в JUnit. Вам дан метод, который преобразует строку в верхний регистр, но выбрасывает пользовательское исключение RuntimeException, если строка равна null. Ваша задача — написать юнит-тесты для этого метода.

Это упражнение является частью курса

Введение в тестирование на Java

Посмотреть курс

Инструкции к упражнению

  • В тесте для успешного сценария проверьте, что сообщение преобразовано в верхний регистр.
  • Используйте подходящее утверждение, чтобы убедиться, что выброшенное исключение является экземпляром класса RuntimeException.
  • Укажите ожидаемый класс исключения.
  • Используйте подходящее утверждение для проверки сообщения исключения.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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());
    }
}
Редактировать и запускать код