外汇:错误场景
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());
}
}