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
Oefeninstructies
- Maak een mock voor de
EuropeanCentralBankServer. - Gebruik de juiste syntax om de mock
12345.0te 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, ____);
}
}