ÎncepețiÎncepe gratuit

Gestionarea excepțiilor: procesarea mesajelor

Folosirea și gestionarea excepțiilor reprezintă o parte esențială a scrierii codului, iar testarea acestora este la fel de importantă pentru proiectul tău.

În acest exercițiu, vei exersa sintaxa aserțiunii pentru instanțe de clasă din JUnit. Ai la dispoziție o metodă care convertește un șir de caractere la majuscule, dar aruncă o RuntimeException personalizată dacă șirul este null. Sarcina ta este să scrii teste unitare pentru aceasta.

Acest exercițiu face parte din cursul

Introducere în testarea în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Verifică că mesajul a fost convertit la majuscule în testul pentru scenariul de succes.
  • Folosește tipul corect de aserțiune pentru a verifica că excepția aruncată este o instanță a clasei RuntimeException.
  • Introdu clasa așteptată a excepției.
  • Folosește aserțiunea corectă pentru a verifica mesajul excepției.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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());
    }
}
Editează și rulează codul