Ngoại hối: Kịch bản lỗi
Tài liệu của thư viện EuropeanCentralBankServer cho biết: nếu cố gắng quy đổi sang các loại tiền tệ mà ngân hàng
không hỗ trợ, thư viện sẽ ném ra ngoại lệ sau:
new RuntimeException("Currency not in ECB list: " + currencyName)
Hãy viết một bài kiểm thử tích hợp để xác minh kịch bản lỗi này.
Bài tập này là một phần của khóa học
Nhập môn Kiểm thử trong Java
Hướng dẫn bài tập
- Điền biểu thức assert phù hợp để xác minh ngoại lệ là một instance của
RuntimeException. - Dùng assert phù hợp để kiểm tra tính bằng nhau.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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());
}
}