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ırEgzersiz 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
convertEuroTometodunun istisna fırlatmadığını, bunun yerine-1dö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
____(____, ____);
}
}