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
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, ____);
}
}