ПочатиПочніть безкоштовно

Оброблення винятків: опрацювання повідомлень

Як використання та оброблення винятків є невід'ємною частиною написання коду, так і тестування цих винятків є критично важливим для тестування вашого проєкту.

У цій вправі ви потренуєтеся в синтаксисі твердження 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());
    }
}
Редагувати та запускати код