CommencerCommencer gratuitement

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

Afficher le cours

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