Обработка исключений: работа с сообщениями
Как и использование исключений является неотъемлемой частью написания кода, их тестирование не менее важно для проверки проекта.
В этом упражнении вы попрактикуетесь в синтаксисе утверждения принадлежности к классу в 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());
}
}