CommencezCommencez gratuitement

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

Voir le cours

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, ____);
    }
}
Modifier et exécuter le code