Začněte nyníZačněte zdarma

Jednotkový test: Devizový trh

Pojďme si procvičit vytváření a programování mocků v bankovním kontextu! Dopiš jednotkový test pro ExchangeApp, která pracuje s Evropskou centrální bankou. Testuješ logiku convertEuroTo(), takže ji nemockuj. Namísto toho mockuj její závislost a ověř, jestli funguje správně!

Potřebné balíčky JUnit a Mockito jsou za tebe již naimportovány.

Toto cvičení je součástí kurzu

Úvod do testování v Javě

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř mock pro EuropeanCentralBankServer.
  • Použij správnou syntaxi a naprogramuj mock tak, aby vracel 12345.0.
  • Ověř, že převod měny vrátí požadovaný výsledek.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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, ____);
    }
}
Upravit a spustit kód