İstisnaları Yönetme: Mesaj İşleme
Nasıl ki istisnaları kullanmak ve yönetmek kod yazmanın ayrılmaz bir parçasıysa, bu istisnaları test etmek de projenin test edilmesi için hayati önemdedir.
Bu egzersizde, JUnit'in sınıf örneği (instance) doğrulamasının sözdizimini pratik edeceksin. Sana verilen yöntem bir
dizgeyi büyük harfe çeviriyor, ancak dizge null ise özel bir RuntimeException fırlatıyor. Görev, bunun için birim testleri
yazmaktır.
Bu egzersiz, kursun bir parçasıdır
Java'da Teste Giriş
Egzersiz talimatları
- Başarılı senaryo testinde mesajın büyük harfe çevrildiğini doğrula.
- Fırlatılan istisnanın
RuntimeExceptionsınıfının bir örneği (instance) olduğunu doğrulamak için doğru türde doğrulamayı kullan. - İstisnanın beklenen sınıfını gir.
- İstisna mesajını doğrulamak için doğru doğrulamayı kullan.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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());
}
}