ÎncepețiÎncepe gratuit

Test unitar: Piața valutară

Hai să exersăm crearea și programarea mock-urilor în contextul bancar! Completează testul unitar pentru ExchangeApp, care utilizează Banca Centrală Europeană. Deoarece testezi logica convertEuroTo(), nu o include în mock. În schimb, creează un mock pentru dependența sa, astfel încât să poți verifica dacă funcționează corect!

Pachetele necesare din JUnit și Mockito au fost deja importate pentru tine.

Acest exercițiu face parte din cursul

Introducere în testarea în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un mock pentru EuropeanCentralBankServer.
  • Folosește sintaxa corectă pentru a programa mock-ul să returneze 12345.0.
  • Verifică că operațiunea de conversie valutară returnează rezultatul dorit.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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, ____);
    }
}
Editează și rulează codul