BaşlayınÜcretsiz Başlayın

Birim testi: Döviz kuru istisnaları

Döviz uygulaması için olası hata senaryolarından biri, kesinti ya da ağ sorunları nedeniyle banka sunucusunun kullanılamaz olmasıdır. Bozucu istisnalara karşı önlem olarak convertEuroTo metodunun içine bir try/catch yazdın.

Hata senaryosunu, kur istendiğinde mock EuropeanCentralBankServer nesnesinin bir istisna fırlatmasını sağlayarak simüle et.

Bu egzersiz

Java'da Teste Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Mock banka nesnesi getRateEuroTo çağrıldığında bir istisna fırlatsın.
  • Simüle etmek istediğin tam istisna nesnesini oluştur.
  • Bu senaryoda convertEuroTo metodunun istisna fırlatmadığını, bunun yerine -1 döndürdüğünü doğrula.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Main {
    public static void main(String[] args) {
        launchMockitoTestsAndPrint(ExchangeAppTest.class);
    }
}

class ExchangeAppTest {
    @Test
    void convertEuroTo_throwsException_whenBankUnavailable() {
        EuropeanCentralBankServer bank = mock(EuropeanCentralBankServer.class);
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        double euroAmount = 450;
        // Stub the mock to throw an exception
        when(exchangeApp.convertEuroTo("TST", 100)).____(new ____("Bank server is unavailable."));
        
        double tstAmount = exchangeApp.convertEuroTo("TST", euroAmount);

		// Assert on the return value of the method
		____(____, ____);
    }
}
Kodu Düzenle ve Çalıştır