Aan de slagGa gratis aan de slag

Unittest: valutamarkt

Oefen met het maken en programmeren van mocks in een bankcontext! Maak de unittest af voor de ExchangeApp, die gebruikmaakt van de Europese Centrale Bank. Omdat je de logica van convertEuroTo() test, moet je die niet mocken. Mock in plaats daarvan de afhankelijkheid, zodat je kunt controleren of het goed werkt!

De benodigde pakketten voor JUnit en Mockito zijn al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Introductie tot testen in Java

Cursus bekijken

Oefeninstructies

  • Maak een mock voor de EuropeanCentralBankServer.
  • Gebruik de juiste syntax om de mock 12345.0 te laten retourneren.
  • Controleer dat de valutaconversie de gewenste output oplevert.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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, ____);
    }
}
Code bewerken en uitvoeren