Začněte nyníZačněte zdarma

Práce s výjimkami: zpracování zpráv

Stejně jako je používání a zpracování výjimek nedílnou součástí psaní kódu, je jejich testování klíčové pro testování celého projektu.

V tomto cvičení si procvičíš syntaxi assertionu pro ověření instance třídy v JUnit. Máš k dispozici metodu, která převádí řetězec na velká písmena, ale vyhodí vlastní RuntimeException, pokud je řetězec null. Tvým úkolem je napsat pro ni jednotkové testy.

Toto cvičení je součástí kurzu

Úvod do testování v Javě

Zobrazit kurz

Pokyny k cvičení

  • V testu pro úspěšný scénář ověř, že byla zpráva převedena na velká písmena.
  • Použij správný typ assertionu k ověření, že vyhozená výjimka je instancí třídy RuntimeException.
  • Zadej očekávanou třídu výjimky.
  • Použij správný assertion k ověření zprávy výjimky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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());
    }
}
Upravit a spustit kód