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
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());
}
}