ÎncepețiÎncepe gratuit

Test unitar: Excepții la schimbul valutar

Un posibil scenariu de eroare pentru aplicația de schimb valutar este indisponibilitatea serverului băncii din cauza unei întreruperi sau a unor probleme de rețea. Pentru a preveni excepțiile nedorite, ai implementat un bloc try/catch în metoda convertEuroTo.

Simulează scenariul de eroare făcând obiectul mock EuropeanCentralBankServer să arunce o excepție atunci când este solicitată o rată de schimb.

Acest exercițiu face parte din cursul

Introducere în testarea în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Fă ca obiectul mock al băncii să arunce o excepție atunci când este apelat getRateEuroTo.
  • Creează obiectul exact de tip excepție pe care vrei să îl simulezi.
  • Verifică că metoda convertEuroTo nu aruncă o excepție, ci returnează -1 în acest scenariu.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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
		____(____, ____);
    }
}
Editează și rulează codul