İ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
Java'da Teste Giriş
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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());
}
}