Kom igångKom igång gratis

Enhetstest: Valutamarknaden

Nu är det dags att öva på att skapa och programmera mock-objekt i ett banksammanhang! Slutför enhetstestet för ExchangeApp, som använder Europeiska centralbanken. Eftersom du testar logiken i convertEuroTo(), ska du inte mocka den. Mocka i stället dess beroende så att du kan kontrollera att den fungerar korrekt!

Nödvändiga paket från JUnit och Mockito har redan importerats.

Den här övningen är en del av kursen

Introduktion till testning i Java

Visa kurs

Övningsinstruktioner

  • Skapa ett mock-objekt för EuropeanCentralBankServer.
  • Använd rätt syntax för att programmera mock-objektet så att det returnerar 12345.0.
  • Verifiera att valutakonverteringen returnerar det förväntade resultatet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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, ____);
    }
}
Redigera och kör kod