Zacznij terazZacznij za darmo

Test jednostkowy: rynek walutowy

Ćwiczmy tworzenie i programowanie mocków w kontekście bankowym! Uzupełnij test jednostkowy dla ExchangeApp, który korzysta z Europejskiego Banku Centralnego. Testujesz logikę convertEuroTo() – nie mockuj jej. Zamiast tego zamockuj jej zależność, żeby sprawdzić, czy działa poprawnie!

Niezbędne pakiety JUnit i Mockito zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Wprowadzenie do testowania w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz mock dla EuropeanCentralBankServer.
  • Użyj właściwej składni, aby zaprogramować mock tak, by zwracał 12345.0.
  • Sprawdź, czy konwersja walut zwraca oczekiwany wynik.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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, ____);
    }
}
Edytuj i uruchom kod