Unit-Test: Devisenmarkt
Üben wir das Erstellen und Programmieren von Mocks im Bankumfeld! Vervollständige den Unit-Test für die ExchangeApp, die
die Europäische Zentralbank nutzt. Da du die Logik von convertEuroTo() testest, solltest du sie nicht mocken. Mock stattdessen ihre Abhängigkeit, damit du prüfen kannst, ob alles korrekt funktioniert!
Die benötigten JUnit- und Mockito-Pakete wurden bereits für dich importiert.
Diese Übung ist Teil des Kurses
Einführung in das Testen in Java
Anleitung zur Übung
- Erstelle ein Mock für den
EuropeanCentralBankServer. - Verwende die korrekte Syntax, um das Mock so zu programmieren, dass es
12345.0zurückgibt. - Überprüfe, dass die Währungsumrechnung die gewünschte Ausgabe liefert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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, ____);
}
}