开始使用免费开始使用

外汇:错误场景

EuropeanCentralBankServer 库的文档说明:如果尝试转换为该银行未提供的货币,将会抛出如下异常:

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

请编写一个集成测试,验证上述错误场景。

本练习是课程的一部分

Java 测试入门

查看课程

练习说明

  • 填写正确的断言,验证该异常是 RuntimeException 的实例。
  • 使用正确的断言检查相等性。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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());
    }
}
编辑并运行代码