CommencerCommencer gratuitement

Devises étrangères : scénario d’erreur

La documentation de la bibliothèque EuropeanCentralBankServer indique que tenter de convertir vers des devises non proposées par la banque déclenchera cette exception :

new RuntimeException("Currency not in ECB list: " + currencyName)

Écrivez un test d’intégration qui vérifie ce scénario d’erreur.

Cet exercice fait partie du cours

Introduction aux tests en Java

Afficher le cours

Instructions

  • Complétez avec l’assertion appropriée pour vérifier que l’exception est une instance de RuntimeException.
  • Utilisez l’assertion adaptée pour vérifier l’égalité.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

class Main {
    public static void main(String[] args) {
        launchTestsAndPrint(ExchangeAppTest.class);
    }
}

class ExchangeAppTest {
    @Test
    void convert_throwsException_whenGetRateThrowsException() {
        EuropeanCentralBankServer bank = new EuropeanCentralBankServer();
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        Exception expectedException = null;

        try {
            double result = exchangeApp.convertEuroTo("Invalid Currency", 1000);
        } catch (Exception e) {
        	expectedException = e;
        }
       	// Assert that the exception is an instance of the correct class
        ____(RuntimeException.class, expectedException);
        // Assert that the exception message is correct
        ____("Currency not in ECB list: Invalid Currency", expectedException.getMessage());
    }
}
Modifier et exécuter le code