ComenzarEmpieza gratis

Prueba unitaria: mercado de divisas

¡Practiquemos cómo crear y programar mocks en un contexto bancario! Completa la prueba unitaria de ExchangeApp, que usa el Banco Central Europeo. Como estás probando la lógica de convertEuroTo(), no la hagas mock. En su lugar, simula su dependencia para poder comprobar si funciona correctamente.

Los paquetes necesarios de JUnit y Mockito ya se han importado por ti.

Este ejercicio forma parte del curso

Introducción a las pruebas en Java

Ver curso

Instrucciones del ejercicio

  • Crea un mock para EuropeanCentralBankServer.
  • Usa la sintaxis correcta para programar el mock para que devuelva 12345.0.
  • Verifica que la conversión de divisas devuelve el resultado esperado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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, ____);
    }
}
Editar y ejecutar código