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