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