IniziaInizia gratis

Unit test: Mercato dei cambi

Esercitiamoci a creare e programmare dei mock nel contesto bancario! Completa il test unitario per ExchangeApp, che usa la European Central Bank. Poiché stai testando la logica di convertEuroTo(), non fare il mock di quella. Invece, fai il mock della sua dipendenza così da poter verificare che funzioni correttamente!

I pacchetti necessari di JUnit e Mockito sono già stati importati per te.

Questo esercizio fa parte del corso

Introduzione al Testing in Java

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un mock per EuropeanCentralBankServer.
  • Usa la sintassi corretta per programmare il mock affinché ritorni 12345.0.
  • Verifica che la conversione valutaria restituisca l’output desiderato.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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

class ExchangeAppTest {
    @Test
    void convertEuroTo_convertsTST() {
        // Create a mock object for the EuropeanCentralBankServer
        EuropeanCentralBankServer bank = ____(EuropeanCentralBankServer.class);
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        double euroAmount = 100;
        // Stub the mock to return a value for given input
        ____(exchangeApp.convertEuroTo("TST", 100)).____(12345.0);

        double tstAmount = exchangeApp.convertEuroTo("TST", euroAmount);

        System.out.println("Converted " + euroAmount + " EUR to " + tstAmount + " TST.");
        // Assert on the exact expected value of tstAmount
        ____(1234500, ____);
    }
}
Modifica ed esegui il codice