Оброблення винятків: опрацювання повідомлень
Як використання та оброблення винятків є невід'ємною частиною написання коду, так і тестування цих винятків є критично важливим для тестування вашого проєкту.
У цій вправі ви потренуєтеся в синтаксисі твердження 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());
}
}