Test unitaire : marché des changes
Exerçons-nous à créer et à programmer des mocks dans un contexte bancaire ! Complétez le test unitaire pour ExchangeApp, qui
utilise la Banque centrale européenne. Comme vous testez la logique de convertEuroTo(), ne la mockez pas. Mockez plutôt sa dépendance afin de pouvoir vérifier que tout fonctionne correctement !
Les modules JUnit et Mockito nécessaires ont déjà été importés pour vous.
Cette activité fait partie du cours
Introduction aux tests en Java
Instructions de l’exercice
- Créez un mock pour
EuropeanCentralBankServer. - Utilisez la bonne syntaxe pour programmer le mock afin qu'il retourne
12345.0. - Vérifiez que la conversion de devise produit le résultat attendu.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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, ____);
}
}